From: Jens Axboe Date: Tue, 9 Dec 2014 20:17:33 +0000 (-0700) Subject: Get rid of _set variables X-Git-Tag: fio-2.2.0~29 X-Git-Url: https://git.kernel.dk/?p=fio.git;a=commitdiff_plain;h=b2a9e6496494373f97f78dcdb3663fbb7b7a4ddb;hp=a8523a6ae6ce7beafcfa75c4f0b9226e2ab17139 Get rid of _set variables We can just check the option set mask now. Signed-off-by: Jens Axboe --- diff --git a/backend.c b/backend.c index 6816362a..e07ded86 100644 --- a/backend.c +++ b/backend.c @@ -1345,7 +1345,7 @@ static void *thread_main(void *data) * Set affinity first, in case it has an impact on the memory * allocations. */ - if (o->cpumask_set) { + if (fio_option_is_set(o, cpumask)) { if (o->cpus_allowed_policy == FIO_CPUS_SPLIT) { ret = fio_cpus_split(&o->cpumask, td->thread_number - 1); if (!ret) { @@ -1364,7 +1364,8 @@ static void *thread_main(void *data) #ifdef CONFIG_LIBNUMA /* numa node setup */ - if (o->numa_cpumask_set || o->numa_memmask_set) { + if (fio_option_is_set(o, numa_cpunodes) || + fio_option_is_set(o, numa_memnodes)) { struct bitmask *mask; if (numa_available() < 0) { @@ -1372,7 +1373,7 @@ static void *thread_main(void *data) goto err; } - if (o->numa_cpumask_set) { + if (fio_option_is_set(o, numa_cpunodes)) { mask = numa_parse_nodestring(o->numa_cpunodes); ret = numa_run_on_node_mask(mask); numa_free_nodemask(mask); @@ -1383,8 +1384,7 @@ static void *thread_main(void *data) } } - if (o->numa_memmask_set) { - + if (fio_option_is_set(o, numa_memnodes)) { mask = NULL; if (o->numa_memnodes) mask = numa_parse_nodestring(o->numa_memnodes); @@ -1589,7 +1589,7 @@ err: cgroup_shutdown(td, &cgroup_mnt); verify_free_state(td); - if (o->cpumask_set) { + if (fio_option_is_set(o, cpumask)) { ret = fio_cpuset_exit(&o->cpumask); if (ret) td_verror(td, ret, "fio_cpuset_exit"); diff --git a/cconv.c b/cconv.c index a4d50035..18edc0f3 100644 --- a/cconv.c +++ b/cconv.c @@ -195,8 +195,6 @@ void convert_thread_options_to_cpu(struct thread_options *o, o->stonewall = le32_to_cpu(top->stonewall); o->new_group = le32_to_cpu(top->new_group); o->numjobs = le32_to_cpu(top->numjobs); - o->cpumask_set = le32_to_cpu(top->cpumask_set); - o->verify_cpumask_set = le32_to_cpu(top->verify_cpumask_set); o->cpus_allowed_policy = le32_to_cpu(top->cpus_allowed_policy); o->iolog = le32_to_cpu(top->iolog); o->rwmixcycle = le32_to_cpu(top->rwmixcycle); @@ -357,8 +355,6 @@ void convert_thread_options_to_net(struct thread_options_pack *top, top->stonewall = cpu_to_le32(o->stonewall); top->new_group = cpu_to_le32(o->new_group); top->numjobs = cpu_to_le32(o->numjobs); - top->cpumask_set = cpu_to_le32(o->cpumask_set); - top->verify_cpumask_set = cpu_to_le32(o->verify_cpumask_set); top->cpus_allowed_policy = cpu_to_le32(o->cpus_allowed_policy); top->iolog = cpu_to_le32(o->iolog); top->rwmixcycle = cpu_to_le32(o->rwmixcycle); diff --git a/options.c b/options.c index ac561bc9..afca7270 100644 --- a/options.c +++ b/options.c @@ -453,7 +453,6 @@ static int str_cpumask_cb(void *data, unsigned long long *val) } } - td->o.cpumask_set = 1; return 0; } @@ -520,36 +519,24 @@ static int set_cpus_allowed(struct thread_data *td, os_cpu_mask_t *mask, } free(p); - if (!ret) - td->o.cpumask_set = 1; return ret; } static int str_cpus_allowed_cb(void *data, const char *input) { struct thread_data *td = data; - int ret; if (parse_dryrun()) return 0; - ret = set_cpus_allowed(td, &td->o.cpumask, input); - if (!ret) - td->o.cpumask_set = 1; - - return ret; + return set_cpus_allowed(td, &td->o.cpumask, input); } static int str_verify_cpus_allowed_cb(void *data, const char *input) { struct thread_data *td = data; - int ret; - ret = set_cpus_allowed(td, &td->o.verify_cpumask, input); - if (!ret) - td->o.verify_cpumask_set = 1; - - return ret; + return set_cpus_allowed(td, &td->o.verify_cpumask, input); } #endif @@ -576,7 +563,6 @@ static int str_numa_cpunodes_cb(void *data, char *input) numa_free_nodemask(verify_bitmask); td->o.numa_cpunodes = strdup(input); - td->o.numa_cpumask_set = 1; return 0; } @@ -683,9 +669,7 @@ static int str_numa_mpol_cb(void *data, char *input) break; } - td->o.numa_memmask_set = 1; return 0; - out: return 1; } @@ -3052,6 +3036,7 @@ struct fio_option fio_options[FIO_MAX_OPTS] = { .name = "numa_cpu_nodes", .type = FIO_OPT_STR, .cb = str_numa_cpunodes_cb, + .off1 = td_var_offset(numa_cpunodes), .help = "NUMA CPU nodes bind", .category = FIO_OPT_C_GENERAL, .group = FIO_OPT_G_INVALID, @@ -3060,6 +3045,7 @@ struct fio_option fio_options[FIO_MAX_OPTS] = { .name = "numa_mem_policy", .type = FIO_OPT_STR, .cb = str_numa_mpol_cb, + .off1 = td_var_offset(numa_memnodes), .help = "NUMA memory policy setup", .category = FIO_OPT_C_GENERAL, .group = FIO_OPT_G_INVALID, diff --git a/thread_options.h b/thread_options.h index f0c6325b..530dd9a6 100644 --- a/thread_options.h +++ b/thread_options.h @@ -163,16 +163,12 @@ struct thread_options { 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]; @@ -339,7 +335,6 @@ struct thread_options_pack { 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; @@ -359,6 +354,7 @@ struct thread_options_pack { uint32_t bs_is_seq_rand; uint32_t random_distribution; + uint32_t pad; fio_fp64_t zipf_theta; fio_fp64_t pareto_h; @@ -395,9 +391,7 @@ struct thread_options_pack { 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; diff --git a/verify.c b/verify.c index d1a12665..2ae03f85 100644 --- a/verify.c +++ b/verify.c @@ -1151,7 +1151,7 @@ static void *verify_async_thread(void *data) struct io_u *io_u; int ret = 0; - if (td->o.verify_cpumask_set && + if (fio_option_is_set(&td->o, verify_cpumask) && fio_setaffinity(td->pid, td->o.verify_cpumask)) { log_err("fio: failed setting verify thread affinity\n"); goto done;