X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;f=fio.h;h=dfbad6d6896e0a8181119b765c33fde2a4d9bc3d;hb=ae7e055f755e77dfa71ae9040250ce8eec238721;hp=ed034cbbf909d42997445e9693ba6268cd8188aa;hpb=ef3c94b62e3f58cc23c3ad50450150c8474b4285;p=fio.git diff --git a/fio.h b/fio.h index ed034cbb..dfbad6d6 100644 --- a/fio.h +++ b/fio.h @@ -73,6 +73,7 @@ enum { TD_F_PROFILE_OPS = 64, TD_F_COMPRESS = 128, TD_F_NOIO = 256, + TD_F_COMPRESS_LOG = 512, }; enum { @@ -101,6 +102,7 @@ struct thread_data { char verror[FIO_VERROR_SIZE]; pthread_t thread; unsigned int thread_number; + unsigned int subjob_number; unsigned int groupid; struct thread_stat ts; @@ -112,6 +114,8 @@ struct thread_data { struct io_log *bw_log; struct io_log *iops_log; + struct tp_data *tp_data; + uint64_t stat_io_bytes[DDIR_RWDIR_CNT]; struct timeval bw_sample_time; @@ -251,6 +255,7 @@ struct thread_data { struct timeval epoch; /* time job was started */ struct timeval last_issue; struct timeval tv_cache; + struct timeval terminate_time; unsigned int tv_cache_nr; unsigned int tv_cache_mask; unsigned int ramp_time_over; @@ -483,8 +488,15 @@ extern void td_set_runstate(struct thread_data *, int); extern int td_bump_runstate(struct thread_data *, int); extern void td_restore_runstate(struct thread_data *, int); +/* + * Allow 60 seconds for a job to quit on its own, otherwise reap with + * a vengeance. + */ +#define FIO_REAP_TIMEOUT 60 + #define TERMINATE_ALL (-1) extern void fio_terminate_threads(int); +extern void fio_mark_td_terminate(struct thread_data *); /* * Memory helpers @@ -618,7 +630,9 @@ static inline void td_io_u_free_notify(struct thread_data *td) extern const char *fio_get_arch_string(int); extern const char *fio_get_os_string(int); +#ifdef FIO_INTERNAL #define ARRAY_SIZE(x) (sizeof((x)) / (sizeof((x)[0]))) +#endif enum { FIO_OUTPUT_TERSE = 0,