X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=fio.h;h=f8e6a4a066c346eb3aa693150b385eadab8b4f31;hp=690afad607b9d0b39c1d69153063d4d99ad10f0e;hb=e3cedca76d9fc104eb4f6f869606fb5bf4c0d59c;hpb=9520ebb9f4dd88d086e313ae97e37ebb6d4f240b diff --git a/fio.h b/fio.h index 690afad6..f8e6a4a0 100644 --- a/fio.h +++ b/fio.h @@ -499,9 +499,12 @@ struct thread_options { unsigned int disable_clat; unsigned int disable_slat; unsigned int disable_bw; + unsigned int gtod_reduce; char *read_iolog_file; char *write_iolog_file; + char *bw_log_file; + char *lat_log_file; /* * Pre-run and post-run shell @@ -612,6 +615,9 @@ struct thread_data { struct timeval epoch; /* time job was started */ struct timeval rw_end[2]; struct timeval last_issue; + struct timeval tv_cache; + unsigned int tv_cache_nr; + unsigned int tv_cache_mask; unsigned int rw_end_set[2]; unsigned int ramp_time_over; @@ -802,6 +808,7 @@ extern void update_rusage_stat(struct thread_data *); extern void update_io_ticks(void); extern void setup_log(struct io_log **); extern void finish_log(struct thread_data *, struct io_log *, const char *); +extern void finish_log_named(struct thread_data *, struct io_log *, const char *, const char *); extern void __finish_log(struct io_log *, const char *); extern struct io_log *agg_io_log[2]; extern int write_bw_log; @@ -1040,4 +1047,13 @@ static inline void dprint_io_u(struct io_u *io_u, const char *p) #define dprint_io_u(io_u, p) #endif +static inline int fio_fill_issue_time(struct thread_data *td) +{ + if (td->o.read_iolog_file || + !td->o.disable_clat || !td->o.disable_slat || !td->o.disable_bw) + return 1; + + return 0; +} + #endif