Re: [PATCH rt-tests v4 03/16] cyclictest: Simplify --smp vs --affinity vs --threads argument logic

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Daniel,

Spotted one typo below while browsing through the patches.

Daniel Wagner <dwagner@xxxxxxx> writes:

> Allow each command line only to update one variable and do the final
> decission at the end of the parsing step. With this the order
  ^
  decision

Regards,
Punit

> of the command line is not important.
>
> Signed-off-by: Daniel Wagner <dwagner@xxxxxxx>
> ---
>  src/cyclictest/cyclictest.c | 34 ++++++++--------------------------
>  1 file changed, 8 insertions(+), 26 deletions(-)
>
> diff --git a/src/cyclictest/cyclictest.c b/src/cyclictest/cyclictest.c
> index 4c02f067fbad..b5cca3ae166b 100644
> --- a/src/cyclictest/cyclictest.c
> +++ b/src/cyclictest/cyclictest.c
> @@ -880,14 +880,13 @@ static int timermode = TIMER_ABSTIME;
>  static int use_system;
>  static int priority;
>  static int policy = SCHED_OTHER;	/* default policy if not specified */
> -static int num_threads = 1;
> +static int num_threads = -1;
>  static int max_cycles;
>  static int clocksel = 0;
>  static int quiet;
>  static int interval = DEFAULT_INTERVAL;
>  static int distance = -1;
>  static struct bitmask *affinity_mask = NULL;
> -static int smp = 0;
>  
>  static int clocksources[] = {
>  	CLOCK_MONOTONIC,
> @@ -953,7 +952,7 @@ enum option_values {
>  static void process_options(int argc, char *argv[], int max_cpus)
>  {
>  	int error = 0;
> -	int option_affinity = 0;
> +	int smp = 0;
>  
>  	for (;;) {
>  		int option_index = 0;
> @@ -1008,10 +1007,6 @@ static void process_options(int argc, char *argv[], int max_cpus)
>  		switch (c) {
>  		case 'a':
>  		case OPT_AFFINITY:
> -			option_affinity = 1;
> -			/* smp sets AFFINITY_USEALL in OPT_SMP */
> -			if (smp)
> -				break;
>  			if (optarg) {
>  				parse_cpumask(optarg, max_cpus, &affinity_mask);
>  			} else if (optind < argc &&
> @@ -1019,8 +1014,6 @@ static void process_options(int argc, char *argv[], int max_cpus)
>  				    argv[optind][0] == '0' ||
>  				    argv[optind][0] == '!')) {
>  				parse_cpumask(argv[optind], max_cpus, &affinity_mask);
> -			} else {
> -				num_threads = -1;
>  			}
>  			break;
>  		case 'A':
> @@ -1108,22 +1101,14 @@ static void process_options(int argc, char *argv[], int max_cpus)
>  		case OPT_SYSTEM:
>  			use_system = MODE_SYS_OFFSET; break;
>  		case 'S':
> -		case OPT_SMP: /* SMP testing */
> -			smp = 1;
> -			num_threads = -1; /* update after parsing */
> -			break;
> +		case OPT_SMP:
> +			smp = 1; break;
>  		case 't':
>  		case OPT_THREADS:
> -			if (smp) {
> -				warn("-t ignored due to smp mode\n");
> -				break;
> -			}
>  			if (optarg != NULL)
>  				num_threads = atoi(optarg);
>  			else if (optind < argc && atoi(argv[optind]))
>  				num_threads = atoi(argv[optind]);
> -			else
> -				num_threads = -1; /* update after parsing */
>  			break;
>  		case OPT_TRIGGER:
>  			trigger = atoi(optarg);
> @@ -1179,13 +1164,10 @@ static void process_options(int argc, char *argv[], int max_cpus)
>  		use_nanosleep = MODE_CLOCK_NANOSLEEP;
>  	}
>  
> -	if (option_affinity && smp) {
> -		warn("-a ignored due to smp mode\n");
> -		if (affinity_mask) {
> -			numa_bitmask_free(affinity_mask);
> -			affinity_mask = NULL;
> -		}
> -	}
> +	if (smp && num_threads != -1)
> +		warn("--threads overwrites smp mode\n");
> +	if (smp && affinity_mask)
> +		warn("--affinity overwrites smp mode\n");
>  
>  	if (smi) {
>  		if (affinity_mask)



[Index of Archives]     [RT Stable]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux