#include "arch/arch.h"
#include "os/os.h"
+#include "options.h"
#include "stat.h"
#include "gettime.h"
#include "lib/ieee754.h"
uint32_t perc;
};
+#define NR_OPTS_SZ (FIO_MAX_OPTS / (8 * sizeof(uint64_t)))
+
#define OPT_MAGIC 0x4f50544e
struct thread_options {
int magic;
+ uint64_t set_options[NR_OPTS_SZ];
char *description;
char *name;
char *directory;
unsigned int new_group;
unsigned int numjobs;
os_cpu_mask_t cpumask;
- unsigned int cpumask_set;
os_cpu_mask_t verify_cpumask;
- unsigned int verify_cpumask_set;
unsigned int cpus_allowed_policy;
char *numa_cpunodes;
- unsigned int numa_cpumask_set;
unsigned short numa_mem_mode;
unsigned int numa_mem_prefer_node;
char *numa_memnodes;
- unsigned int numa_memmask_set;
unsigned int iolog;
unsigned int rwmixcycle;
unsigned int rwmix[DDIR_RWDIR_CNT];
unsigned int unified_rw_rep;
unsigned int gtod_reduce;
unsigned int gtod_cpu;
- unsigned int gtod_offload;
enum fio_cs clocksource;
unsigned int no_stall;
unsigned int trim_percentage;
#define FIO_TOP_STR_MAX 256
struct thread_options_pack {
+ uint64_t set_options[NR_OPTS_SZ];
uint8_t description[FIO_TOP_STR_MAX];
uint8_t name[FIO_TOP_STR_MAX];
uint8_t directory[FIO_TOP_STR_MAX];
uint32_t experimental_verify;
uint32_t verify_state;
uint32_t verify_state_save;
- uint32_t pad;
uint32_t use_thread;
uint32_t unlink;
uint32_t do_disk_util;
uint32_t bs_is_seq_rand;
uint32_t random_distribution;
+ uint32_t pad;
fio_fp64_t zipf_theta;
fio_fp64_t pareto_h;
uint32_t new_group;
uint32_t numjobs;
uint8_t cpumask[FIO_TOP_STR_MAX];
- uint32_t cpumask_set;
uint8_t verify_cpumask[FIO_TOP_STR_MAX];
- uint32_t verify_cpumask_set;
uint32_t cpus_allowed_policy;
uint32_t iolog;
uint32_t rwmixcycle;
uint32_t unified_rw_rep;
uint32_t gtod_reduce;
uint32_t gtod_cpu;
- uint32_t gtod_offload;
uint32_t clocksource;
uint32_t no_stall;
uint32_t trim_percentage;
uint64_t trim_backlog;
uint32_t clat_percentiles;
uint32_t percentile_precision;
+ uint32_t pad2;
fio_fp64_t percentile_list[FIO_IO_U_LIST_MAX_LEN];
uint8_t read_iolog_file[FIO_TOP_STR_MAX];
uint64_t number_ios;
uint32_t sync_file_range;
- uint32_t pad2;
uint64_t latency_target;
uint64_t latency_window;
+ uint32_t pad3;
fio_fp64_t latency_percentile;
} __attribute__((packed));