On Fri, 18 Dec 2020, Daniel Wagner wrote: > We don't need an extra variable to track the state if a bitmask is > available or not. Check directly if the mask is usable. > > Reviewed-by: Daniel Wagner <dwagner@xxxxxxx> > --- > src/signaltest/signaltest.c | 44 ++++++++----------------------------- > 1 file changed, 9 insertions(+), 35 deletions(-) > > diff --git a/src/signaltest/signaltest.c b/src/signaltest/signaltest.c > index b3a82f8c4f65..e19fc9a740a9 100644 > --- a/src/signaltest/signaltest.c > +++ b/src/signaltest/signaltest.c > @@ -205,15 +205,13 @@ static int verbose; > static int quiet; > static int lockall; > static struct bitmask *affinity_mask = NULL; > -static int smp = 0; > -static int setaffinity = AFFINITY_UNSPECIFIED; > > /* Process commandline options */ > static void process_options(int argc, char *argv[], unsigned int max_cpus) > { > - int option_affinity = 0; > int error = 0; > int numa = 0; > + int smp = 0; > > for (;;) { > int option_index = 0; > @@ -238,26 +236,19 @@ static void process_options(int argc, char *argv[], unsigned int max_cpus) > break; > switch (c) { > case 'a': > - option_affinity = 1; > /* smp sets AFFINITY_USEALL in OPT_SMP */ > if (smp) > break; > numa = 1; > if (optarg) { > parse_cpumask(optarg, max_cpus, &affinity_mask); > - setaffinity = AFFINITY_SPECIFIED; > } else if (optind < argc && > (atoi(argv[optind]) || > argv[optind][0] == '0' || > argv[optind][0] == '!')) { > parse_cpumask(argv[optind], max_cpus, &affinity_mask); > - setaffinity = AFFINITY_SPECIFIED; > - } else { > - setaffinity = AFFINITY_USEALL; > } > > - if (setaffinity == AFFINITY_SPECIFIED && !affinity_mask) > - display_help(1); > if (verbose) > printf("Using %u cpus.\n", > numa_bitmask_weight(affinity_mask)); > @@ -275,7 +266,6 @@ static void process_options(int argc, char *argv[], unsigned int max_cpus) > fatal("numa and smp options are mutually exclusive\n"); > smp = 1; > num_threads = -1; /* update after parsing */ > - setaffinity = AFFINITY_USEALL; > break; > case 't': num_threads = atoi(optarg); break; > case 'v': verbose = 1; break; > @@ -294,16 +284,8 @@ static void process_options(int argc, char *argv[], unsigned int max_cpus) > if (num_threads < 2) > error = 1; > > - /* if smp wasn't requested, test for numa automatically */ > - if (!smp) { > - if (setaffinity == AFFINITY_UNSPECIFIED) > - setaffinity = AFFINITY_USEALL; > - } > - > - if (option_affinity) { > - if (smp) > - warn("-a ignored due to smp mode\n"); > - } > + if (smp && affinity_mask) > + warn("-a ignored due to smp mode\n"); > > if (error) { > if (affinity_mask) > @@ -365,7 +347,7 @@ int main(int argc, char **argv) > } > > /* Restrict the main pid to the affinity specified by the user */ > - if (affinity_mask != NULL) { > + if (affinity_mask) { > int res; > > errno = 0; > @@ -400,21 +382,13 @@ int main(int argc, char **argv) > par[i].bufmsk = VALBUF_SIZE - 1; > } > > - switch (setaffinity) { > - case AFFINITY_UNSPECIFIED: > - cpu = -1; > - break; > - case AFFINITY_SPECIFIED: > + if (affinity_mask) > cpu = cpu_for_thread_sp(i, max_cpus, affinity_mask); > - if (verbose) > - printf("Thread %d using cpu %d.\n", i, cpu); > - break; > - case AFFINITY_USEALL: > + else > cpu = cpu_for_thread_ua(i, max_cpus); > - break; > - default: > - cpu = -1; > - } > + > + if (verbose) > + printf("Thread %d using cpu %d.\n", i, cpu); > > par[i].id = i; > par[i].prio = priority; > -- > 2.29.2 > > In git you wrote Reviewed by instead of Signed-off-by: Why?