X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;f=thread_options.h;h=02c867f319361f1f7f3574ce0aa92a52ec7bb513;hb=e123c8332fc051dbbc0808a95a1cc0d994613101;hp=1c48bd83d394577b463ecb9ec5b4572b05123747;hpb=332dab7091640eebcb2414c4e8d7f4921e9ec3e2;p=fio.git diff --git a/thread_options.h b/thread_options.h index 1c48bd83..02c867f3 100644 --- a/thread_options.h +++ b/thread_options.h @@ -7,6 +7,7 @@ #include "stat.h" #include "gettime.h" #include "lib/ieee754.h" +#include "lib/pattern.h" #include "td_error.h" /* @@ -18,6 +19,7 @@ enum fio_memtype { MEM_SHMHUGE, /* use shared memory segments with huge pages */ MEM_MMAP, /* use anonynomous mmap */ MEM_MMAPHUGE, /* memory mapped huge file */ + MEM_MMAPSHARED, /* use mmap with shared flag */ }; #define ERROR_STR_MAX 128 @@ -53,7 +55,8 @@ struct thread_options { unsigned int iodepth; unsigned int iodepth_low; unsigned int iodepth_batch; - unsigned int iodepth_batch_complete; + unsigned int iodepth_batch_complete_min; + unsigned int iodepth_batch_complete_max; unsigned long long size; unsigned long long io_limit; @@ -97,6 +100,8 @@ struct thread_options { unsigned int verify_offset; char verify_pattern[MAX_PATTERN_SIZE]; unsigned int verify_pattern_bytes; + struct pattern_fmt verify_fmt[8]; + unsigned int verify_fmt_sz; unsigned int verify_fatal; unsigned int verify_dump; unsigned int verify_async; @@ -165,6 +170,7 @@ struct thread_options { unsigned int numjobs; os_cpu_mask_t cpumask; os_cpu_mask_t verify_cpumask; + os_cpu_mask_t log_gz_cpumask; unsigned int cpus_allowed_policy; char *numa_cpunodes; unsigned short numa_mem_mode; @@ -226,6 +232,7 @@ struct thread_options { unsigned int io_submit_mode; unsigned int rate_iops[DDIR_RWDIR_CNT]; unsigned int rate_iops_min[DDIR_RWDIR_CNT]; + unsigned int rate_process; char *ioscheduler; @@ -268,6 +275,11 @@ struct thread_options { unsigned int replay_align; unsigned int replay_scale; + + unsigned int per_job_logs; + + unsigned int allow_create; + unsigned int allow_mounted_write; }; #define FIO_TOP_STR_MAX 256 @@ -291,7 +303,9 @@ struct thread_options_pack { uint32_t iodepth; uint32_t iodepth_low; uint32_t iodepth_batch; - uint32_t iodepth_batch_complete; + uint32_t iodepth_batch_complete_min; + uint32_t iodepth_batch_complete_max; + uint32_t __proper_alignment_for_64b; uint64_t size; uint64_t io_limit; @@ -400,8 +414,14 @@ struct thread_options_pack { uint32_t stonewall; uint32_t new_group; uint32_t numjobs; + /* + * We currently can't convert these, so don't enable them + */ +#if 0 uint8_t cpumask[FIO_TOP_STR_MAX]; uint8_t verify_cpumask[FIO_TOP_STR_MAX]; + uint8_t log_gz_cpumask[FIO_TOP_STR_MAX]; +#endif uint32_t cpus_allowed_policy; uint32_t iolog; uint32_t rwmixcycle; @@ -459,6 +479,8 @@ struct thread_options_pack { uint32_t io_submit_mode; uint32_t rate_iops[DDIR_RWDIR_CNT]; uint32_t rate_iops_min[DDIR_RWDIR_CNT]; + uint32_t rate_process; + uint32_t padding_0; /* for alignment assert */ uint8_t ioscheduler[FIO_TOP_STR_MAX]; @@ -501,6 +523,11 @@ struct thread_options_pack { uint32_t replay_align; uint32_t replay_scale; + + uint32_t per_job_logs; + + uint32_t allow_create; + uint32_t allow_mounted_write; } __attribute__((packed)); extern void convert_thread_options_to_cpu(struct thread_options *o, struct thread_options_pack *top);