X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=stat.h;h=aa4ad806aa9159db7b15276fcf15853dae9c5bf8;hp=de5c12a5f6b9394d0de483d2ee04bc2d84a826dc;hb=da19cdb458e5a9a8422e48b630a6b38158519303;hpb=90eff1c9f01d2f8b4ff8bc75a2bf120a1789b37c diff --git a/stat.h b/stat.h index de5c12a5..aa4ad806 100644 --- a/stat.h +++ b/stat.h @@ -7,7 +7,7 @@ struct group_run_stats { uint64_t max_run[DDIR_RWDIR_CNT], min_run[DDIR_RWDIR_CNT]; uint64_t max_bw[DDIR_RWDIR_CNT], min_bw[DDIR_RWDIR_CNT]; - uint64_t io_kb[DDIR_RWDIR_CNT]; + uint64_t iobytes[DDIR_RWDIR_CNT]; uint64_t agg[DDIR_RWDIR_CNT]; uint32_t kb_base; uint32_t unit_base; @@ -123,7 +123,7 @@ struct group_run_stats { #define BLOCK_INFO_STATE(block_info) \ ((block_info) >> BLOCK_INFO_STATE_SHIFT) #define BLOCK_INFO(state, trim_cycles) \ - ((trim_cycles) | ((state) << BLOCK_INFO_STATE_SHIFT)) + ((trim_cycles) | ((unsigned int) (state) << BLOCK_INFO_STATE_SHIFT)) #define BLOCK_INFO_SET_STATE(block_info, state) \ BLOCK_INFO(state, BLOCK_INFO_TRIMS(block_info)) enum block_info_state { @@ -198,10 +198,10 @@ struct thread_stat { */ union { uint16_t continue_on_error; - uint64_t pad2; + uint32_t pad2; }; - uint64_t total_err_count; uint32_t first_error; + uint64_t total_err_count; uint64_t nr_block_infos; uint32_t block_infos[MAX_NR_BLOCK_INFOS]; @@ -210,9 +210,29 @@ struct thread_stat { uint32_t unit_base; uint32_t latency_depth; + uint32_t pad3; uint64_t latency_target; fio_fp64_t latency_percentile; uint64_t latency_window; + + uint64_t ss_dur; + uint32_t ss_state; + uint32_t ss_head; + + fio_fp64_t ss_limit; + fio_fp64_t ss_slope; + fio_fp64_t ss_deviation; + fio_fp64_t ss_criterion; + + union { + uint64_t *ss_iops_data; + uint64_t pad4; + }; + + union { + uint64_t *ss_bw_data; + uint64_t pad5; + }; } __attribute__((packed)); struct jobs_eta { @@ -281,7 +301,7 @@ extern void add_clat_sample(struct thread_data *, enum fio_ddir, unsigned long, unsigned int, uint64_t); extern void add_slat_sample(struct thread_data *, enum fio_ddir, unsigned long, unsigned int, uint64_t); -extern void add_agg_sample(unsigned long, enum fio_ddir, unsigned int); +extern void add_agg_sample(union io_sample_data, enum fio_ddir, unsigned int); extern void add_iops_sample(struct thread_data *, struct io_u *, unsigned int); extern void add_bw_sample(struct thread_data *, struct io_u *,