5 extern void *hackbench_thread(void *t
);
6 extern void terminal_error(const char *name
);
7 extern inline void post_sem(sem_t
*s
);
8 extern inline void wait_sem(sem_t
*s
);
9 extern inline int trywait_sem(sem_t
*s
);
10 extern inline ssize_t
Read(int fd
, void *buf
, size_t count
);
12 #define THREADS 13 /* The total number of different loads */
24 unsigned long sleep_interval
;
25 unsigned long slept_interval
;
29 unsigned long long total_latency
;
30 unsigned long long sum_latency_squared
;
31 unsigned long max_latency
;
32 unsigned long nr_samples
;
33 unsigned long deadlines_met
;
34 unsigned long missed_deadlines
;
35 unsigned long long missed_burns
;
36 unsigned long long achieved_burns
;
40 void (*name
)(struct thread
*);
42 int bench
; /* This thread is suitable for benchmarking */
43 int rtbench
; /* Suitable for real time benchmarking */
44 int load
; /* Suitable as a background load */
45 int rtload
; /* Suitable as a background load for rt benches */
46 int nodeadlines
; /* Deadlines_met are meaningless for this load */
47 unsigned long decasecond_deadlines
; /* Expected deadlines / 10s */
51 struct data_table benchmarks
[THREADS
+ 1], *dt
;
52 struct tk_thread tkthread
;
55 extern struct thread hackthread
;