X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;f=fio.h;h=829cc81812dc491cb0d6db50eca4b409c6460b3f;hb=3bf80dad77448afcb18148e72dc6cfe04bcf7e57;hp=b71a48648eaf4f2b95e5ed6015ff8e445911c074;hpb=f87cc56144a77e2e9b485eb7ddb064cf2da5f9a1;p=fio.git diff --git a/fio.h b/fio.h index b71a4864..829cc818 100644 --- a/fio.h +++ b/fio.h @@ -96,6 +96,7 @@ enum { FIO_RAND_START_DELAY, FIO_DEDUPE_OFF, FIO_RAND_POISSON_OFF, + FIO_RAND_ZONE_OFF, FIO_RAND_NR_OFFS, }; @@ -115,6 +116,11 @@ struct sk_out; void sk_out_assign(struct sk_out *); void sk_out_drop(void); +struct zone_split_index { + uint8_t size_perc; + uint8_t size_perc_prev; +}; + /* * This describes a single thread/process executing a fio job. */ @@ -148,13 +154,6 @@ struct thread_data { uint64_t stat_io_blocks[DDIR_RWDIR_CNT]; struct timeval iops_sample_time; - /* - * Tracks the last iodepth number of completed writes, if data - * verification is enabled - */ - uint64_t *last_write_comp; - unsigned int last_write_idx; - volatile int update_rusage; struct fio_mutex *rusage_sem; struct rusage ru_start; @@ -200,6 +199,9 @@ struct thread_data { struct frand_state buf_state; struct frand_state buf_state_prev; struct frand_state dedupe_state; + struct frand_state zone_state; + + struct zone_split_index **zone_state_index; unsigned int verify_batch; unsigned int trim_batch; @@ -712,6 +714,7 @@ enum { FIO_RAND_DIST_ZIPF, FIO_RAND_DIST_PARETO, FIO_RAND_DIST_GAUSS, + FIO_RAND_DIST_ZONED, }; #define FIO_DEF_ZIPF 1.1