X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;f=fio.h;h=719b2f3b8342f03648ec1cbbabdfd1d57cb51462;hb=f0fdbcafc3a62b84250e5ccdcaec47e3ffa93a00;hp=d0fe83a5ca6e8a62e2eb74b082e35063cdbd1039;hpb=e171fde52d9c2d0247365793d464a2a3c5e3af22;p=fio.git diff --git a/fio.h b/fio.h index d0fe83a5..719b2f3b 100644 --- a/fio.h +++ b/fio.h @@ -248,6 +248,16 @@ struct thread_data { unsigned int tv_cache_mask; unsigned int ramp_time_over; + /* + * Time since last latency_window was started + */ + struct timeval latency_ts; + unsigned int latency_qd; + unsigned int latency_qd_high; + unsigned int latency_qd_low; + unsigned int latency_failed; + uint64_t latency_ios; + /* * read/write mixed workload state */ @@ -333,10 +343,10 @@ enum { #define __td_verror(td, err, msg, func) \ do { \ - int e = (err); \ + int __e = (err); \ if ((td)->error) \ break; \ - (td)->error = e; \ + (td)->error = __e; \ if (!(td)->first_error) \ snprintf(td->verror, sizeof(td->verror), "file:%s:%d, func=%s, error=%s", __FILE__, __LINE__, (func), (msg)); \ } while (0) @@ -483,6 +493,12 @@ extern int is_blktrace(const char *, int *); extern int load_blktrace(struct thread_data *, const char *, int); #endif +/* + * Latency target helpers + */ +extern void lat_target_check(struct thread_data *); +extern void lat_target_init(struct thread_data *); + #define for_each_td(td, i) \ for ((i) = 0, (td) = &threads[0]; (i) < (int) thread_number; (i)++, (td)++) #define for_each_file(td, f, i) \