mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: "Paul E. McKenney" <paulmck@kernel.org>
To: rcu@vger.kernel.org
Cc: linux-kernel@vger.kernel.org, kernel-team@fb.com,
	rostedt@goodmis.org, Paul Menzel <pmenzel@molgen.mpg.de>,
	"Paul E . McKenney" <paulmck@kernel.org>
Subject: [PATCH rcu 04/12] torture: Make thread detection more robust by using lspcu
Date: Mon, 18 Apr 2022 17:15:17 -0700	[thread overview]
Message-ID: <20220419001525.3950505-4-paulmck@kernel.org> (raw)
In-Reply-To: <20220419001519.GA3950405@paulmck-ThinkPad-P17-Gen-1>

From: Paul Menzel <pmenzel@molgen.mpg.de>

For consecutive numbers the lscpu command collapses the output and just
shows the range with start and end. The processors are numbered that
way on POWER8.

    $ sudo ppc64_cpu --smt=8
    $ lscpu | grep '^NUMA node'
    NUMA node(s):                    2
    NUMA node0 CPU(s):               0-79
    NUMA node8 CPU(s):               80-159

This causes the heuristic to detect the number threads per core, looking
for the number after the first comma, to fail, and QEMU aborts because of
invalid arguments.

    $ lscpu | grep '^NUMA node0' | sed -e 's/^[^,-]*(,|\-)\([0-9]*\),.*$/\1/'
    NUMA node0 CPU(s):               0-79

But the lscpu command shows the number of threads per core:

    $ sudo ppc64_cpu --smt=8
    $ lscpu | grep 'Thread(s) per core'
    Thread(s) per core:              8
    $ sudo ppc64_cpu --smt=off
    $ lscpu | grep 'Thread(s) per core'
    Thread(s) per core:              1

This commit therefore directly uses that value and replaces use of grep
with "sed -n" and its "p" command.

Signed-off-by: Paul Menzel <pmenzel@molgen.mpg.de>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
---
 tools/testing/selftests/rcutorture/bin/functions.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/testing/selftests/rcutorture/bin/functions.sh b/tools/testing/selftests/rcutorture/bin/functions.sh
index c35ba24f994c..66d0414d8e4b 100644
--- a/tools/testing/selftests/rcutorture/bin/functions.sh
+++ b/tools/testing/selftests/rcutorture/bin/functions.sh
@@ -301,7 +301,7 @@ specify_qemu_cpus () {
 			echo $2 -smp $3
 			;;
 		qemu-system-ppc64)
-			nt="`lscpu | grep '^NUMA node0' | sed -e 's/^[^,]*,\([0-9]*\),.*$/\1/'`"
+			nt="`lscpu | sed -n 's/^Thread(s) per core:\s*//p'`"
 			echo $2 -smp cores=`expr \( $3 + $nt - 1 \) / $nt`,threads=$nt
 			;;
 		esac
-- 
2.31.1.189.g2e36527f23


  parent reply	other threads:[~2022-04-19  0:16 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-19  0:15 [PATCH rcu 0/12] Torture-test scripting updates for v5.19 Paul E. McKenney
2022-04-19  0:15 ` [PATCH rcu 01/12] torture: Reposition so that $? collects ssh code in torture.sh Paul E. McKenney
2022-04-19  0:15 ` [PATCH rcu 02/12] torture: Use "-o Batchmode=yes" to disable ssh password requests Paul E. McKenney
2022-04-19  0:15 ` [PATCH rcu 03/12] torture: Permit running of experimental torture types Paul E. McKenney
2022-04-19  0:15 ` Paul E. McKenney [this message]
2022-04-19  0:15 ` [PATCH rcu 05/12] torture: Skip vmlinux check for kvm-again.sh runs Paul E. McKenney
2022-04-19  0:15 ` [PATCH rcu 06/12] torture: Enable CSD-lock stall reports for scftorture Paul E. McKenney
2022-04-19  0:15 ` [PATCH rcu 07/12] rcutorture: Adjust scenarios' Kconfig options for CONFIG_PREEMPT_DYNAMIC Paul E. McKenney
2022-04-19  0:15 ` [PATCH rcu 08/12] scftorture: Remove extraneous "scf" from per_version_boot_params Paul E. McKenney
2022-04-19  0:15 ` [PATCH rcu 09/12] torture: Save "make allmodconfig" .config file Paul E. McKenney
2022-04-19  0:15 ` [PATCH rcu 10/12] rcutorture: Make kvm.sh allow more memory for --kasan runs Paul E. McKenney
2022-04-19  0:15 ` [PATCH rcu 11/12] rcutorture: Make torture.sh refscale and rcuscale specify Tasks Trace RCU Paul E. McKenney
2022-04-19  0:15 ` [PATCH rcu 12/12] rcutorture: Make torture.sh allow for --kasan Paul E. McKenney

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=20220419001525.3950505-4-paulmck@kernel.org \
    --to=paulmck@kernel.org \
    --cc=kernel-team@fb.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pmenzel@molgen.mpg.de \
    --cc=rcu@vger.kernel.org \
    --cc=rostedt@goodmis.org \
    /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

all inboxes | Powered by JetHome®