linux-rt-users.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Punit Agrawal <punit1.agrawal@toshiba.co.jp>
To: Daniel Wagner <dwagner@suse.de>
Cc: Clark Williams <williams@redhat.com>,
	John Kacur <jkacur@redhat.com>, <linux-rt-users@vger.kernel.org>
Subject: Re: [PATCH rt-tests v4 03/16] cyclictest: Simplify --smp vs --affinity vs --threads argument logic
Date: Mon, 15 Feb 2021 13:06:52 +0900	[thread overview]
Message-ID: <877dnax9cz.fsf@kokedama.swc.toshiba.co.jp> (raw)
In-Reply-To: <20210210133450.6991-4-dwagner@suse.de> (Daniel Wagner's message of "Wed, 10 Feb 2021 14:34:37 +0100")

Hi Daniel,

Spotted one typo below while browsing through the patches.

Daniel Wagner <dwagner@suse.de> 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@suse.de>
> ---
>  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)

  reply	other threads:[~2021-02-15  4:09 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-10 13:34 [PATCH rt-tests v4 00/16] rt-numa.h cleanups Daniel Wagner
2021-02-10 13:34 ` [PATCH rt-tests v4 01/16] cyclictest: Use numa API directly Daniel Wagner
2021-02-17  3:49   ` John Kacur
2021-02-10 13:34 ` [PATCH rt-tests v4 02/16] cyclictest: Mimic --smp behavior with --affinity Daniel Wagner
2021-02-17  3:49   ` John Kacur
2021-02-10 13:34 ` [PATCH rt-tests v4 03/16] cyclictest: Simplify --smp vs --affinity vs --threads argument logic Daniel Wagner
2021-02-15  4:06   ` Punit Agrawal [this message]
2021-02-15  9:00     ` Daniel Wagner
2021-02-10 13:34 ` [PATCH rt-tests v4 04/16] signaltest: Use affinity_mask for steering thread placement Daniel Wagner
2021-02-10 13:34 ` [PATCH rt-tests v4 05/16] signaltest: Simplify --smp vs --affinity vs --threads argument logic Daniel Wagner
2021-02-10 13:34 ` [PATCH rt-tests v4 06/16] rt-numa: Remove unused definitions and numa_initialize() Daniel Wagner
2021-02-10 13:34 ` [PATCH rt-tests v4 07/16] rt-numa: Add generic cpu_for_thread() helper Daniel Wagner
2021-02-10 13:34 ` [PATCH rt-tests v4 08/16] rt-numa: Use mask size for iterator limit Daniel Wagner
2021-02-10 13:34 ` [PATCH rt-tests v4 09/16] rt-numa: Remove max_cpus argument from parse_cpusmask Daniel Wagner
2021-02-10 13:34 ` [PATCH rt-tests v4 10/16] signaltest: Remove unused max_cpus argument from process_options Daniel Wagner
2021-02-10 13:34 ` [PATCH rt-tests v4 11/16] cyclictest: " Daniel Wagner
2021-02-10 13:34 ` [PATCH rt-tests v4 12/16] rt-numa: Use CPU_SETSIZE as upper loop limit Daniel Wagner
2021-02-10 13:34 ` [PATCH rt-tests v4 13/16] rt-numa: Remove used max_cpus argument from cpu_for_thread() Daniel Wagner
2021-02-10 13:34 ` [PATCH rt-tests v4 14/16] cyclictest: Remove max cpus used verbose information Daniel Wagner
2021-02-10 13:34 ` [PATCH rt-tests v4 15/16] cyclictest: Remove unecessary local variable Daniel Wagner
2021-02-10 13:34 ` [PATCH rt-tests v4 16/16] rt-tests: Rename error.h to rt-error.h Daniel Wagner
2021-02-17  3:50   ` John Kacur

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=877dnax9cz.fsf@kokedama.swc.toshiba.co.jp \
    --to=punit1.agrawal@toshiba.co.jp \
    --cc=dwagner@suse.de \
    --cc=jkacur@redhat.com \
    --cc=linux-rt-users@vger.kernel.org \
    --cc=williams@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).