X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=thread_options.h;h=393158340e96a52a8068cd39d0d8c3c6c4cc4da3;hp=8adba48ce7b491a3250422a83f256d9db93ab3b4;hb=2eca48926723d3ebe8f43d4999302fb826f4a250;hpb=bf0b7e75c1ccca4026c8880ed8a76fc7ef85f2f3 diff --git a/thread_options.h b/thread_options.h index 8adba48c..39315834 100644 --- a/thread_options.h +++ b/thread_options.h @@ -10,6 +10,14 @@ #include "lib/pattern.h" #include "td_error.h" +enum fio_zone_mode { + ZONE_MODE_NOT_SPECIFIED = 0, + ZONE_MODE_NONE = 1, + ZONE_MODE_STRIDED = 2, /* perform I/O in one zone at a time */ + /* perform I/O across multiple zones simultaneously */ + ZONE_MODE_ZBD = 3, +}; + /* * What type of allocation to use for io buffers */ @@ -188,6 +196,7 @@ struct thread_options { unsigned long long zone_range; unsigned long long zone_size; unsigned long long zone_skip; + enum fio_zone_mode zone_mode; unsigned long long lockmem; enum fio_memtype mem_type; unsigned int mem_align; @@ -247,6 +256,7 @@ struct thread_options { fio_fp64_t percentile_list[FIO_IO_U_LIST_MAX_LEN]; char *read_iolog_file; + bool read_iolog_chunked; char *write_iolog_file; unsigned int write_bw_log; @@ -324,6 +334,12 @@ struct thread_options { unsigned int allow_create; unsigned int allow_mounted_write; + + /* Parameters that affect zonemode=zbd */ + unsigned int read_beyond_wp; + int max_open_zones; + fio_fp64_t zrt; + fio_fp64_t zrf; }; #define FIO_TOP_STR_MAX 256 @@ -600,6 +616,8 @@ struct thread_options_pack { uint32_t allow_create; uint32_t allow_mounted_write; + + uint32_t zone_mode; } __attribute__((packed)); extern void convert_thread_options_to_cpu(struct thread_options *o, struct thread_options_pack *top);