X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=thread_options.h;h=8d13b79a144a4ef49a46d3340ec2004d18a5bc4d;hp=393e51ef976f5ead6d45afb3375678d9dc718556;hb=19a8064ef4a2a826ee06ed061af970d1737cf840;hpb=035538530f86a5b3ecb8c9d0ec031562ec9b6028 diff --git a/thread_options.h b/thread_options.h index 393e51ef..8d13b79a 100644 --- a/thread_options.h +++ b/thread_options.h @@ -20,15 +20,13 @@ enum fio_memtype { MEM_MMAP, /* use anonynomous mmap */ MEM_MMAPHUGE, /* memory mapped huge file */ MEM_MMAPSHARED, /* use mmap with shared flag */ -#ifdef CONFIG_CUDA MEM_CUDA_MALLOC,/* use GPU memory */ -#endif }; #define ERROR_STR_MAX 128 #define BSSPLIT_MAX 64 -#define ZONESPLIT_MAX 64 +#define ZONESPLIT_MAX 256 struct bssplit { uint32_t bs; @@ -38,6 +36,8 @@ struct bssplit { struct zone_split { uint8_t access_perc; uint8_t size_perc; + uint8_t pad[6]; + uint64_t size; }; #define NR_OPTS_SZ (FIO_MAX_OPTS / (8 * sizeof(uint64_t))) @@ -55,6 +55,7 @@ struct thread_options { char *filename_format; char *opendir; char *ioengine; + char *ioengine_so_path; char *mmapfile; enum td_ddir td_ddir; unsigned int rw_seq; @@ -67,6 +68,7 @@ struct thread_options { unsigned int iodepth_batch; unsigned int iodepth_batch_complete_min; unsigned int iodepth_batch_complete_max; + unsigned int serialize_overlap; unsigned int unique_filename; @@ -78,6 +80,7 @@ struct thread_options { unsigned long long file_size_low; unsigned long long file_size_high; unsigned long long start_offset; + unsigned long long start_offset_align; unsigned int bs[DDIR_RWDIR_CNT]; unsigned int ba[DDIR_RWDIR_CNT]; @@ -104,10 +107,9 @@ struct thread_options { unsigned int end_fsync; unsigned int pre_read; unsigned int sync_io; + unsigned int write_hint; unsigned int verify; unsigned int do_verify; - unsigned int verifysort; - unsigned int verifysort_nr; unsigned int verify_interval; unsigned int verify_offset; char verify_pattern[MAX_PATTERN_SIZE]; @@ -170,6 +172,7 @@ struct thread_options { unsigned int fdatasync_blocks; unsigned int barrier_blocks; unsigned long long start_delay; + unsigned long long start_delay_orig; unsigned long long start_delay_high; unsigned long long timeout; unsigned long long ramp_time; @@ -188,7 +191,7 @@ struct thread_options { enum fio_memtype mem_type; unsigned int mem_align; - unsigned int max_latency; + unsigned long long max_latency; unsigned int stonewall; unsigned int new_group; @@ -202,6 +205,7 @@ struct thread_options { unsigned int numa_mem_prefer_node; char *numa_memnodes; unsigned int gpu_dev_id; + unsigned int start_offset_percent; unsigned int iolog; unsigned int rwmixcycle; @@ -213,7 +217,6 @@ struct thread_options { unsigned int group_reporting; unsigned int stats; unsigned int fadvise_hint; - unsigned int fadvise_stream; enum fio_fallocate_mode fallocate_mode; unsigned int zero_buffers; unsigned int refill_buffers; @@ -238,6 +241,7 @@ struct thread_options { unsigned int trim_zero; unsigned long long trim_backlog; unsigned int clat_percentiles; + unsigned int lat_percentiles; unsigned int percentile_precision; /* digits after decimal for percentiles */ fio_fp64_t percentile_list[FIO_IO_U_LIST_MAX_LEN]; @@ -268,6 +272,7 @@ struct thread_options { unsigned int rate_iops[DDIR_RWDIR_CNT]; unsigned int rate_iops_min[DDIR_RWDIR_CNT]; unsigned int rate_process; + unsigned int rate_ign_think; char *ioscheduler; @@ -305,11 +310,14 @@ struct thread_options { unsigned long long latency_window; fio_fp64_t latency_percentile; + unsigned int sig_figs; + unsigned block_error_hist; - unsigned int skip_bad; unsigned int replay_align; unsigned int replay_scale; + unsigned int replay_time_scale; + unsigned int replay_skip; unsigned int per_job_logs; @@ -341,7 +349,8 @@ struct thread_options_pack { uint32_t iodepth_batch; uint32_t iodepth_batch_complete_min; uint32_t iodepth_batch_complete_max; - uint32_t __proper_alignment_for_64b; + uint32_t serialize_overlap; + uint32_t lat_percentiles; uint64_t size; uint64_t io_size; @@ -352,6 +361,7 @@ struct thread_options_pack { uint64_t file_size_low; uint64_t file_size_high; uint64_t start_offset; + uint64_t start_offset_align; uint32_t bs[DDIR_RWDIR_CNT]; uint32_t ba[DDIR_RWDIR_CNT]; @@ -378,10 +388,9 @@ struct thread_options_pack { uint32_t end_fsync; uint32_t pre_read; uint32_t sync_io; + uint32_t write_hint; uint32_t verify; uint32_t do_verify; - uint32_t verifysort; - uint32_t verifysort_nr; uint32_t verify_interval; uint32_t verify_offset; uint8_t verify_pattern[MAX_PATTERN_SIZE]; @@ -416,11 +425,12 @@ struct thread_options_pack { uint32_t bs_unaligned; uint32_t fsync_on_close; uint32_t bs_is_seq_rand; - uint32_t pad1; uint32_t random_distribution; uint32_t exitall_error; + uint32_t sync_file_range; + struct zone_split zone_split[DDIR_RWDIR_CNT][ZONESPLIT_MAX]; uint32_t zone_split_nr[DDIR_RWDIR_CNT]; @@ -459,8 +469,6 @@ struct thread_options_pack { uint32_t mem_type; uint32_t mem_align; - uint32_t max_latency; - uint32_t stonewall; uint32_t new_group; uint32_t numjobs; @@ -472,6 +480,8 @@ struct thread_options_pack { uint8_t verify_cpumask[FIO_TOP_STR_MAX]; uint8_t log_gz_cpumask[FIO_TOP_STR_MAX]; #endif + uint32_t gpu_dev_id; + uint32_t start_offset_percent; uint32_t cpus_allowed_policy; uint32_t iolog; uint32_t rwmixcycle; @@ -483,7 +493,6 @@ struct thread_options_pack { uint32_t group_reporting; uint32_t stats; uint32_t fadvise_hint; - uint32_t fadvise_stream; uint32_t fallocate_mode; uint32_t zero_buffers; uint32_t refill_buffers; @@ -538,6 +547,8 @@ struct thread_options_pack { uint32_t rate_iops[DDIR_RWDIR_CNT]; uint32_t rate_iops_min[DDIR_RWDIR_CNT]; uint32_t rate_process; + uint32_t rate_ign_think; + uint32_t pad; uint8_t ioscheduler[FIO_TOP_STR_MAX]; @@ -569,18 +580,19 @@ struct thread_options_pack { uint64_t offset_increment; uint64_t number_ios; - uint32_t sync_file_range; - uint32_t pad2; - uint64_t latency_target; uint64_t latency_window; + uint64_t max_latency; fio_fp64_t latency_percentile; + uint32_t sig_figs; + uint32_t block_error_hist; - uint32_t skip_bad; uint32_t replay_align; uint32_t replay_scale; + uint32_t replay_time_scale; + uint32_t replay_skip; uint32_t per_job_logs;