rcu.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH rcu 00/13] Torture script changes for v6.17
@ 2025-07-09 10:44 neeraj.upadhyay
  2025-07-09 10:44 ` [PATCH rcu 01/13] torture: Suppress torture.sh "Zero time" messages for disabled tests neeraj.upadhyay
                   ` (12 more replies)
  0 siblings, 13 replies; 15+ messages in thread
From: neeraj.upadhyay @ 2025-07-09 10:44 UTC (permalink / raw)
  To: rcu
  Cc: linux-kernel, paulmck, joelagnelf, frederic, boqun.feng, urezki,
	rostedt, mathieu.desnoyers, jiangshanlai, qiang.zhang1211,
	neeraj.iitr10, neeraj.upadhyay, Neeraj Upadhyay (AMD)

From: "Neeraj Upadhyay (AMD)" <neeraj.upadhyay@kernel.org>

Hello,

This patch series contains following updates to the torture scripts (rebased
on v6.16-rc3):

Paul E. McKenney (13):
  torture: Suppress torture.sh "Zero time" messages for disabled tests
  torture: Permit multiple space characters in kvm.sh --kconfig argument
  torture: Make torture.sh KCSAN runs set
    CONFIG_RCU_TORTURE_TEST_CHK_RDR_STATE=y
  torture: Default --no-rcutasksflavors on arm64
  torture: Default --no-clocksourcewd on arm64
  torture: Provide EXPERT Kconfig option for arm64 KCSAN torture.sh runs
  torture: Suppress "find" diagnostics from torture.sh --do-none run
  torture: Extract testid.txt generation to separate script
  torture: Add textid.txt file to --do-allmodconfig and --do-rcu-rust
    runs
  torture: Make torture.sh tolerate runs having bad kvm.sh arguments
  torture: Add "ERROR" diagnostic for testing kernel-build output
  torture: Make torture.sh --allmodconfig testing fail on warnings
  torture: Remove support for SRCU-lite

 kernel/rcu/refscale.c                         | 32 +-------
 .../selftests/rcutorture/bin/kvm-build.sh     |  2 +-
 tools/testing/selftests/rcutorture/bin/kvm.sh | 15 +---
 .../selftests/rcutorture/bin/mktestid.sh      | 29 +++++++
 .../selftests/rcutorture/bin/torture.sh       | 78 +++++++++++++++----
 5 files changed, 95 insertions(+), 61 deletions(-)
 create mode 100755 tools/testing/selftests/rcutorture/bin/mktestid.sh

-- 
2.40.1


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [PATCH rcu 01/13] torture: Suppress torture.sh "Zero time" messages for disabled tests
  2025-07-09 10:44 [PATCH rcu 00/13] Torture script changes for v6.17 neeraj.upadhyay
@ 2025-07-09 10:44 ` neeraj.upadhyay
  2025-07-09 10:44 ` [PATCH rcu 02/13] torture: Permit multiple space characters in kvm.sh --kconfig argument neeraj.upadhyay
                   ` (11 subsequent siblings)
  12 siblings, 0 replies; 15+ messages in thread
From: neeraj.upadhyay @ 2025-07-09 10:44 UTC (permalink / raw)
  To: rcu
  Cc: linux-kernel, paulmck, joelagnelf, frederic, boqun.feng, urezki,
	rostedt, mathieu.desnoyers, jiangshanlai, qiang.zhang1211,
	neeraj.iitr10, neeraj.upadhyay, Neeraj Upadhyay (AMD)

From: "Paul E. McKenney" <paulmck@kernel.org>

The torture.sh script prints " --- Zero time for locktorture, disabling"
when the --duration parameter is too short to allow the test to run
even when locktorture has been disabled, for example, via --do-none.
The same is true for scftorture and rcutorture.

This commit therefore suppresses this message when the corresponding
test has been disabled.

Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
Signed-off-by: Joel Fernandes <joelagnelf@nvidia.com>
Signed-off-by: Neeraj Upadhyay (AMD) <neeraj.upadhyay@kernel.org>
---
 tools/testing/selftests/rcutorture/bin/torture.sh | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/tools/testing/selftests/rcutorture/bin/torture.sh b/tools/testing/selftests/rcutorture/bin/torture.sh
index e03fdaca89b3..c518de296871 100755
--- a/tools/testing/selftests/rcutorture/bin/torture.sh
+++ b/tools/testing/selftests/rcutorture/bin/torture.sh
@@ -274,7 +274,7 @@ then
 	configs_rcutorture=CFLIST
 fi
 duration_rcutorture=$((duration_base*duration_rcutorture_frac/10))
-if test "$duration_rcutorture" -eq 0
+if test "$duration_rcutorture" -eq 0 && test "$do_locktorture" = "yes"
 then
 	echo " --- Zero time for rcutorture, disabling" | tee -a $T/log
 	do_rcutorture=no
@@ -286,7 +286,7 @@ then
 	configs_locktorture=CFLIST
 fi
 duration_locktorture=$((duration_base*duration_locktorture_frac/10))
-if test "$duration_locktorture" -eq 0
+if test "$duration_locktorture" -eq 0 && test "$do_locktorture" = "yes"
 then
 	echo " --- Zero time for locktorture, disabling" | tee -a $T/log
 	do_locktorture=no
@@ -298,7 +298,7 @@ then
 	configs_scftorture=CFLIST
 fi
 duration_scftorture=$((duration_base*duration_scftorture_frac/10))
-if test "$duration_scftorture" -eq 0
+if test "$duration_scftorture" -eq 0 && test "$do_scftorture" = "yes"
 then
 	echo " --- Zero time for scftorture, disabling" | tee -a $T/log
 	do_scftorture=no
-- 
2.40.1


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH rcu 02/13] torture: Permit multiple space characters in kvm.sh --kconfig argument
  2025-07-09 10:44 [PATCH rcu 00/13] Torture script changes for v6.17 neeraj.upadhyay
  2025-07-09 10:44 ` [PATCH rcu 01/13] torture: Suppress torture.sh "Zero time" messages for disabled tests neeraj.upadhyay
@ 2025-07-09 10:44 ` neeraj.upadhyay
  2025-07-09 10:44 ` [PATCH rcu 03/13] torture: Make torture.sh KCSAN runs set CONFIG_RCU_TORTURE_TEST_CHK_RDR_STATE=y neeraj.upadhyay
                   ` (10 subsequent siblings)
  12 siblings, 0 replies; 15+ messages in thread
From: neeraj.upadhyay @ 2025-07-09 10:44 UTC (permalink / raw)
  To: rcu
  Cc: linux-kernel, paulmck, joelagnelf, frederic, boqun.feng, urezki,
	rostedt, mathieu.desnoyers, jiangshanlai, qiang.zhang1211,
	neeraj.iitr10, neeraj.upadhyay, Neeraj Upadhyay (AMD)

From: "Paul E. McKenney" <paulmck@kernel.org>

The straightforward way of doing bash substitution for optional strings
leaves a pair of space characters, which the kvm.sh --kconfig option
rejects as ill-formed.  This commit therefore changes the corresponding
regular expression to accommodate more than one space character between
successive Kconfig options.

Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
Signed-off-by: Neeraj Upadhyay (AMD) <neeraj.upadhyay@kernel.org>
---
 tools/testing/selftests/rcutorture/bin/kvm.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/testing/selftests/rcutorture/bin/kvm.sh b/tools/testing/selftests/rcutorture/bin/kvm.sh
index 42e5e8597a1a..9c1b850b3227 100755
--- a/tools/testing/selftests/rcutorture/bin/kvm.sh
+++ b/tools/testing/selftests/rcutorture/bin/kvm.sh
@@ -199,7 +199,7 @@ do
 		fi
 		;;
 	--kconfig|--kconfigs)
-		checkarg --kconfig "(Kconfig options)" $# "$2" '^\(#CHECK#\)\?CONFIG_[A-Z0-9_]\+=\([ynm]\|[0-9]\+\|"[^"]*"\)\( \(#CHECK#\)\?CONFIG_[A-Z0-9_]\+=\([ynm]\|[0-9]\+\|"[^"]*"\)\)*$' '^error$'
+		checkarg --kconfig "(Kconfig options)" $# "$2" '^\(#CHECK#\)\?CONFIG_[A-Z0-9_]\+=\([ynm]\|[0-9]\+\|"[^"]*"\)\( \+\(#CHECK#\)\?CONFIG_[A-Z0-9_]\+=\([ynm]\|[0-9]\+\|"[^"]*"\)\)* *$' '^error$'
 		TORTURE_KCONFIG_ARG="`echo "$TORTURE_KCONFIG_ARG $2" | sed -e 's/^ *//' -e 's/ *$//'`"
 		shift
 		;;
-- 
2.40.1


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH rcu 03/13] torture: Make torture.sh KCSAN runs set CONFIG_RCU_TORTURE_TEST_CHK_RDR_STATE=y
  2025-07-09 10:44 [PATCH rcu 00/13] Torture script changes for v6.17 neeraj.upadhyay
  2025-07-09 10:44 ` [PATCH rcu 01/13] torture: Suppress torture.sh "Zero time" messages for disabled tests neeraj.upadhyay
  2025-07-09 10:44 ` [PATCH rcu 02/13] torture: Permit multiple space characters in kvm.sh --kconfig argument neeraj.upadhyay
@ 2025-07-09 10:44 ` neeraj.upadhyay
  2025-07-09 10:44 ` [PATCH rcu 04/13] torture: Default --no-rcutasksflavors on arm64 neeraj.upadhyay
                   ` (9 subsequent siblings)
  12 siblings, 0 replies; 15+ messages in thread
From: neeraj.upadhyay @ 2025-07-09 10:44 UTC (permalink / raw)
  To: rcu
  Cc: linux-kernel, paulmck, joelagnelf, frederic, boqun.feng, urezki,
	rostedt, mathieu.desnoyers, jiangshanlai, qiang.zhang1211,
	neeraj.iitr10, neeraj.upadhyay, Neeraj Upadhyay (AMD),
	kernel test robot

From: "Paul E. McKenney" <paulmck@kernel.org>

The RCU_TORTURE_TEST_CHK_RDR_STATE Kconfig option is used for low-level
debugging of rcutorture's generation of overlapping and nested RCU
readers.  It incurs significant overhead, and is thus not to be used
lightly.  But if it is not tested regularly, it won't be there when it
is needed, for example, it would have found an rcutorture bug in the
testing of srcu_up_read().

This commit therefore uses CONFIG_RCU_TORTURE_TEST_CHK_RDR_STATE=y when
building KCSAN kernels, but only for the --do-rcutorture case.

Reported-by: kernel test robot <oliver.sang@intel.com>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
Signed-off-by: Neeraj Upadhyay (AMD) <neeraj.upadhyay@kernel.org>
---
 tools/testing/selftests/rcutorture/bin/torture.sh | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/tools/testing/selftests/rcutorture/bin/torture.sh b/tools/testing/selftests/rcutorture/bin/torture.sh
index c518de296871..53f61f278fd7 100755
--- a/tools/testing/selftests/rcutorture/bin/torture.sh
+++ b/tools/testing/selftests/rcutorture/bin/torture.sh
@@ -378,7 +378,12 @@ function torture_set {
 			kcsan_kmake_tag="--kmake-args"
 			cur_kcsan_kmake_args="$kcsan_kmake_args"
 		fi
-		torture_one "$@" --kconfig "CONFIG_DEBUG_LOCK_ALLOC=y CONFIG_PROVE_LOCKING=y" $kcsan_kmake_tag $cur_kcsan_kmake_args --kcsan
+		chk_rdr_state=
+		if test "${flavor}" = rcutorture
+		then
+			chk_rdr_state="CONFIG_RCU_TORTURE_TEST_CHK_RDR_STATE=y"
+		fi
+		torture_one "$@" --kconfig "CONFIG_DEBUG_LOCK_ALLOC=y CONFIG_PROVE_LOCKING=y ${chk_rdr_state}" $kcsan_kmake_tag $cur_kcsan_kmake_args --kcsan
 		mv $T/last-resdir $T/last-resdir-kcsan || :
 	fi
 }
-- 
2.40.1


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH rcu 04/13] torture: Default --no-rcutasksflavors on arm64
  2025-07-09 10:44 [PATCH rcu 00/13] Torture script changes for v6.17 neeraj.upadhyay
                   ` (2 preceding siblings ...)
  2025-07-09 10:44 ` [PATCH rcu 03/13] torture: Make torture.sh KCSAN runs set CONFIG_RCU_TORTURE_TEST_CHK_RDR_STATE=y neeraj.upadhyay
@ 2025-07-09 10:44 ` neeraj.upadhyay
  2025-07-09 10:44 ` [PATCH rcu 05/13] torture: Default --no-clocksourcewd " neeraj.upadhyay
                   ` (8 subsequent siblings)
  12 siblings, 0 replies; 15+ messages in thread
From: neeraj.upadhyay @ 2025-07-09 10:44 UTC (permalink / raw)
  To: rcu
  Cc: linux-kernel, paulmck, joelagnelf, frederic, boqun.feng, urezki,
	rostedt, mathieu.desnoyers, jiangshanlai, qiang.zhang1211,
	neeraj.iitr10, neeraj.upadhyay, Neeraj Upadhyay (AMD)

From: "Paul E. McKenney" <paulmck@kernel.org>

Because arm64 does not support CONFIG_SMP=n kernels, --do-rcutasksflavors
gets Kconfig errors when running the TINY01 rcutorture scenario.
This commit therefore makes --no-rcutasksflavors be the default on
arm64.  Once kvm.sh automatically deselects CONFIG_SMP=n rcutorture
scenarios on arm64, the two lines marked "FIXME" can be changed back
from "${ifnotaarch64}" to "yes".

Note that arm64 users can still specify --do-rcutasksflavors in order
to override this default.

Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
Signed-off-by: Neeraj Upadhyay (AMD) <neeraj.upadhyay@kernel.org>
---
 tools/testing/selftests/rcutorture/bin/torture.sh | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/tools/testing/selftests/rcutorture/bin/torture.sh b/tools/testing/selftests/rcutorture/bin/torture.sh
index 53f61f278fd7..584d57b48036 100755
--- a/tools/testing/selftests/rcutorture/bin/torture.sh
+++ b/tools/testing/selftests/rcutorture/bin/torture.sh
@@ -30,6 +30,15 @@ then
 	VERBOSE_BATCH_CPUS=0
 fi
 
+# Machine architecture?  ("uname -p" is said to be less portable.)1
+thisarch="`uname -m`"
+if test "${thisarch}" = aarch64
+then
+	ifnotaarch64=no
+else
+	ifnotaarch64=yes
+fi
+
 # Configurations/scenarios.
 configs_rcutorture=
 configs_locktorture=
@@ -57,7 +66,7 @@ do_kasan=yes
 do_kcsan=no
 do_clocksourcewd=yes
 do_rt=yes
-do_rcutasksflavors=yes
+do_rcutasksflavors="${ifnotaarch64}" # FIXME: Back to "yes" when SMP=n auto-avoided
 do_srcu_lockdep=yes
 do_rcu_rust=no
 
@@ -124,7 +133,7 @@ do
 		;;
 	--do-all|--doall)
 		do_allmodconfig=yes
-		do_rcutasksflavor=yes
+		do_rcutasksflavors="${ifnotaarch64}" # FIXME: Back to "yes" when SMP=n auto-avoided
 		do_rcutorture=yes
 		do_locktorture=yes
 		do_scftorture=yes
-- 
2.40.1


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH rcu 05/13] torture: Default --no-clocksourcewd on arm64
  2025-07-09 10:44 [PATCH rcu 00/13] Torture script changes for v6.17 neeraj.upadhyay
                   ` (3 preceding siblings ...)
  2025-07-09 10:44 ` [PATCH rcu 04/13] torture: Default --no-rcutasksflavors on arm64 neeraj.upadhyay
@ 2025-07-09 10:44 ` neeraj.upadhyay
  2025-07-09 10:44 ` [PATCH rcu 06/13] torture: Provide EXPERT Kconfig option for arm64 KCSAN torture.sh runs neeraj.upadhyay
                   ` (7 subsequent siblings)
  12 siblings, 0 replies; 15+ messages in thread
From: neeraj.upadhyay @ 2025-07-09 10:44 UTC (permalink / raw)
  To: rcu
  Cc: linux-kernel, paulmck, joelagnelf, frederic, boqun.feng, urezki,
	rostedt, mathieu.desnoyers, jiangshanlai, qiang.zhang1211,
	neeraj.iitr10, neeraj.upadhyay, Neeraj Upadhyay (AMD)

From: "Paul E. McKenney" <paulmck@kernel.org>

Because arm64 does not support CONFIG_CLOCKSOURCE_WATCHDOG=n kernels,
--do-clocksourcewd gets Kconfig errors.  This commit therefore makes
--do-no-clocksourcewd be the default on arm64.

Note that arm64 users can still specify --do-clocksourcewd in order to
override this default.

Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
Signed-off-by: Neeraj Upadhyay (AMD) <neeraj.upadhyay@kernel.org>
---
 tools/testing/selftests/rcutorture/bin/torture.sh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/testing/selftests/rcutorture/bin/torture.sh b/tools/testing/selftests/rcutorture/bin/torture.sh
index 584d57b48036..25847042e30e 100755
--- a/tools/testing/selftests/rcutorture/bin/torture.sh
+++ b/tools/testing/selftests/rcutorture/bin/torture.sh
@@ -64,7 +64,7 @@ do_normal=yes
 explicit_normal=no
 do_kasan=yes
 do_kcsan=no
-do_clocksourcewd=yes
+do_clocksourcewd="${ifnotaarch64}"
 do_rt=yes
 do_rcutasksflavors="${ifnotaarch64}" # FIXME: Back to "yes" when SMP=n auto-avoided
 do_srcu_lockdep=yes
@@ -145,7 +145,7 @@ do
 		explicit_normal=no
 		do_kasan=yes
 		do_kcsan=yes
-		do_clocksourcewd=yes
+		do_clocksourcewd="${ifnotaarch64}"
 		do_srcu_lockdep=yes
 		;;
 	--do-allmodconfig|--do-no-allmodconfig|--no-allmodconfig)
-- 
2.40.1


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH rcu 06/13] torture: Provide EXPERT Kconfig option for arm64 KCSAN torture.sh runs
  2025-07-09 10:44 [PATCH rcu 00/13] Torture script changes for v6.17 neeraj.upadhyay
                   ` (4 preceding siblings ...)
  2025-07-09 10:44 ` [PATCH rcu 05/13] torture: Default --no-clocksourcewd " neeraj.upadhyay
@ 2025-07-09 10:44 ` neeraj.upadhyay
  2025-07-11 15:42   ` Will Deacon
  2025-07-09 10:44 ` [PATCH rcu 07/13] torture: Suppress "find" diagnostics from torture.sh --do-none run neeraj.upadhyay
                   ` (6 subsequent siblings)
  12 siblings, 1 reply; 15+ messages in thread
From: neeraj.upadhyay @ 2025-07-09 10:44 UTC (permalink / raw)
  To: rcu
  Cc: linux-kernel, paulmck, joelagnelf, frederic, boqun.feng, urezki,
	rostedt, mathieu.desnoyers, jiangshanlai, qiang.zhang1211,
	neeraj.iitr10, neeraj.upadhyay, Neeraj Upadhyay (AMD),
	Marco Elver, Dmitry Vyukov, Catalin Marinas, Will Deacon,
	kasan-dev, linux-arm-kernel

From: "Paul E. McKenney" <paulmck@kernel.org>

The arm64 architecture requires that KCSAN-enabled kernels be built with
the CONFIG_EXPERT=y Kconfig option.  This commit therefore causes the
torture.sh script to provide this option, but only for --kcsan runs on
arm64 systems.

Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
Cc: Marco Elver <elver@google.com>
Cc: Dmitry Vyukov <dvyukov@google.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will@kernel.org>
Cc: <kasan-dev@googlegroups.com>
Cc: <linux-arm-kernel@lists.infradead.org>
Signed-off-by: Neeraj Upadhyay (AMD) <neeraj.upadhyay@kernel.org>
---
 tools/testing/selftests/rcutorture/bin/torture.sh | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/tools/testing/selftests/rcutorture/bin/torture.sh b/tools/testing/selftests/rcutorture/bin/torture.sh
index 25847042e30e..420c551b824b 100755
--- a/tools/testing/selftests/rcutorture/bin/torture.sh
+++ b/tools/testing/selftests/rcutorture/bin/torture.sh
@@ -313,6 +313,13 @@ then
 	do_scftorture=no
 fi
 
+# CONFIG_EXPERT=y is currently required for arm64 KCSAN runs.
+kcsan_expert=
+if test "${thisarch}" = aarch64
+then
+	kcsan_expert="CONFIG_EXPERT=y"
+fi
+
 touch $T/failures
 touch $T/successes
 
@@ -392,7 +399,7 @@ function torture_set {
 		then
 			chk_rdr_state="CONFIG_RCU_TORTURE_TEST_CHK_RDR_STATE=y"
 		fi
-		torture_one "$@" --kconfig "CONFIG_DEBUG_LOCK_ALLOC=y CONFIG_PROVE_LOCKING=y ${chk_rdr_state}" $kcsan_kmake_tag $cur_kcsan_kmake_args --kcsan
+		torture_one "$@" --kconfig "CONFIG_DEBUG_LOCK_ALLOC=y CONFIG_PROVE_LOCKING=y ${kcsan_expert} ${chk_rdr_state}" $kcsan_kmake_tag $cur_kcsan_kmake_args --kcsan
 		mv $T/last-resdir $T/last-resdir-kcsan || :
 	fi
 }
-- 
2.40.1


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH rcu 07/13] torture: Suppress "find" diagnostics from torture.sh --do-none run
  2025-07-09 10:44 [PATCH rcu 00/13] Torture script changes for v6.17 neeraj.upadhyay
                   ` (5 preceding siblings ...)
  2025-07-09 10:44 ` [PATCH rcu 06/13] torture: Provide EXPERT Kconfig option for arm64 KCSAN torture.sh runs neeraj.upadhyay
@ 2025-07-09 10:44 ` neeraj.upadhyay
  2025-07-09 10:44 ` [PATCH rcu 08/13] torture: Extract testid.txt generation to separate script neeraj.upadhyay
                   ` (5 subsequent siblings)
  12 siblings, 0 replies; 15+ messages in thread
From: neeraj.upadhyay @ 2025-07-09 10:44 UTC (permalink / raw)
  To: rcu
  Cc: linux-kernel, paulmck, joelagnelf, frederic, boqun.feng, urezki,
	rostedt, mathieu.desnoyers, jiangshanlai, qiang.zhang1211,
	neeraj.iitr10, neeraj.upadhyay, Neeraj Upadhyay (AMD)

From: "Paul E. McKenney" <paulmck@kernel.org>

When torture.sh is told to do nothing, it produces a couple of distracting
diagnostics from the "find" command:

	find: ‘’: No such file or directory
	find: ‘’: No such file or directory

This is pointless chatter and could cause confusion.  This commit therefore
suppresses these diagnostics when there is nothing to find.

Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
Signed-off-by: Neeraj Upadhyay (AMD) <neeraj.upadhyay@kernel.org>
---
 tools/testing/selftests/rcutorture/bin/torture.sh | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/tools/testing/selftests/rcutorture/bin/torture.sh b/tools/testing/selftests/rcutorture/bin/torture.sh
index 420c551b824b..ed59bd43d4f8 100755
--- a/tools/testing/selftests/rcutorture/bin/torture.sh
+++ b/tools/testing/selftests/rcutorture/bin/torture.sh
@@ -719,8 +719,11 @@ fi
 echo Started at $startdate, ended at `date`, duration `get_starttime_duration $starttime`. | tee -a $T/log
 echo Summary: Successes: $nsuccesses Failures: $nfailures. | tee -a $T/log
 tdir="`cat $T/successes $T/failures | head -1 | awk '{ print $NF }' | sed -e 's,/[^/]\+/*$,,'`"
-find "$tdir" -name 'ConfigFragment.diags' -print > $T/configerrors
-find "$tdir" -name 'Make.out.diags' -print > $T/builderrors
+if test -n "$tdir"
+then
+	find "$tdir" -name 'ConfigFragment.diags' -print > $T/configerrors
+	find "$tdir" -name 'Make.out.diags' -print > $T/builderrors
+fi
 if test -s "$T/configerrors"
 then
 	echo "  Scenarios with .config errors: `wc -l "$T/configerrors" | awk '{ print $1 }'`"
-- 
2.40.1


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH rcu 08/13] torture: Extract testid.txt generation to separate script
  2025-07-09 10:44 [PATCH rcu 00/13] Torture script changes for v6.17 neeraj.upadhyay
                   ` (6 preceding siblings ...)
  2025-07-09 10:44 ` [PATCH rcu 07/13] torture: Suppress "find" diagnostics from torture.sh --do-none run neeraj.upadhyay
@ 2025-07-09 10:44 ` neeraj.upadhyay
  2025-07-09 10:44 ` [PATCH rcu 09/13] torture: Add textid.txt file to --do-allmodconfig and --do-rcu-rust runs neeraj.upadhyay
                   ` (4 subsequent siblings)
  12 siblings, 0 replies; 15+ messages in thread
From: neeraj.upadhyay @ 2025-07-09 10:44 UTC (permalink / raw)
  To: rcu
  Cc: linux-kernel, paulmck, joelagnelf, frederic, boqun.feng, urezki,
	rostedt, mathieu.desnoyers, jiangshanlai, qiang.zhang1211,
	neeraj.iitr10, neeraj.upadhyay, Neeraj Upadhyay (AMD)

From: "Paul E. McKenney" <paulmck@kernel.org>

The kvm.sh script places a testid.txt file in the top-level results
directory in order to identify the tree and commit that was tested.
This works well, but there are scripts other than kvm.sh that also create
results directories, and it would be good for them to also identify
exactly what was tested.

This commit therefore extracts the testid.txt generation to a new
mktestid.sh script so that it can be easily used elsewhere.

Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
Signed-off-by: Neeraj Upadhyay (AMD) <neeraj.upadhyay@kernel.org>
---
 tools/testing/selftests/rcutorture/bin/kvm.sh | 13 +--------
 .../selftests/rcutorture/bin/mktestid.sh      | 29 +++++++++++++++++++
 2 files changed, 30 insertions(+), 12 deletions(-)
 create mode 100755 tools/testing/selftests/rcutorture/bin/mktestid.sh

diff --git a/tools/testing/selftests/rcutorture/bin/kvm.sh b/tools/testing/selftests/rcutorture/bin/kvm.sh
index 9c1b850b3227..617cba339d28 100755
--- a/tools/testing/selftests/rcutorture/bin/kvm.sh
+++ b/tools/testing/selftests/rcutorture/bin/kvm.sh
@@ -442,18 +442,7 @@ echo $scriptname $args
 touch $resdir/$ds/log
 echo $scriptname $args >> $resdir/$ds/log
 echo ${TORTURE_SUITE} > $resdir/$ds/torture_suite
-echo Build directory: `pwd` > $resdir/$ds/testid.txt
-if test -d .git
-then
-	echo Current commit: `git rev-parse HEAD` >> $resdir/$ds/testid.txt
-	echo >> $resdir/$ds/testid.txt
-	echo ' ---' Output of "'"git status"'": >> $resdir/$ds/testid.txt
-	git status >> $resdir/$ds/testid.txt
-	echo >> $resdir/$ds/testid.txt
-	echo >> $resdir/$ds/testid.txt
-	echo ' ---' Output of "'"git diff HEAD"'": >> $resdir/$ds/testid.txt
-	git diff HEAD >> $resdir/$ds/testid.txt
-fi
+mktestid.sh $resdir/$ds
 ___EOF___
 kvm-assign-cpus.sh /sys/devices/system/node > $T/cpuarray.awk
 kvm-get-cpus-script.sh $T/cpuarray.awk $T/dumpbatches.awk
diff --git a/tools/testing/selftests/rcutorture/bin/mktestid.sh b/tools/testing/selftests/rcutorture/bin/mktestid.sh
new file mode 100755
index 000000000000..16f9907a4dae
--- /dev/null
+++ b/tools/testing/selftests/rcutorture/bin/mktestid.sh
@@ -0,0 +1,29 @@
+#!/bin/bash
+# SPDX-License-Identifier: GPL-2.0+
+#
+# Create a testid.txt file in the specified directory.
+#
+# Usage: mktestid.sh dirpath
+#
+# Copyright (C) Meta Platforms, Inc.  2025
+#
+# Author: Paul E. McKenney <paulmck@kernel.org>
+
+resdir="$1"
+if test -z "${resdir}" || ! test -d "${resdir}" || ! test -w "${resdir}"
+then
+	echo Path '"'${resdir}'"' not writeable directory, no ${resdir}/testid.txt.
+	exit 1
+fi
+echo Build directory: `pwd` > ${resdir}/testid.txt
+if test -d .git
+then
+	echo Current commit: `git rev-parse HEAD` >> ${resdir}/testid.txt
+	echo >> ${resdir}/testid.txt
+	echo ' ---' Output of "'"git status"'": >> ${resdir}/testid.txt
+	git status >> ${resdir}/testid.txt
+	echo >> ${resdir}/testid.txt
+	echo >> ${resdir}/testid.txt
+	echo ' ---' Output of "'"git diff HEAD"'": >> ${resdir}/testid.txt
+	git diff HEAD >> ${resdir}/testid.txt
+fi
-- 
2.40.1


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH rcu 09/13] torture: Add textid.txt file to --do-allmodconfig and --do-rcu-rust runs
  2025-07-09 10:44 [PATCH rcu 00/13] Torture script changes for v6.17 neeraj.upadhyay
                   ` (7 preceding siblings ...)
  2025-07-09 10:44 ` [PATCH rcu 08/13] torture: Extract testid.txt generation to separate script neeraj.upadhyay
@ 2025-07-09 10:44 ` neeraj.upadhyay
  2025-07-09 10:44 ` [PATCH rcu 10/13] torture: Make torture.sh tolerate runs having bad kvm.sh arguments neeraj.upadhyay
                   ` (3 subsequent siblings)
  12 siblings, 0 replies; 15+ messages in thread
From: neeraj.upadhyay @ 2025-07-09 10:44 UTC (permalink / raw)
  To: rcu
  Cc: linux-kernel, paulmck, joelagnelf, frederic, boqun.feng, urezki,
	rostedt, mathieu.desnoyers, jiangshanlai, qiang.zhang1211,
	neeraj.iitr10, neeraj.upadhyay, Neeraj Upadhyay (AMD)

From: "Paul E. McKenney" <paulmck@kernel.org>

This commit causes the torture.sh --do-allmodconfig and --do-rcu-rust
parameters to add testid.txt files to their results directories, thus
allowing easier analysis of the results of a series of runs kicked off by
"git bisect".

Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
Signed-off-by: Neeraj Upadhyay (AMD) <neeraj.upadhyay@kernel.org>
---
 tools/testing/selftests/rcutorture/bin/torture.sh | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/tools/testing/selftests/rcutorture/bin/torture.sh b/tools/testing/selftests/rcutorture/bin/torture.sh
index ed59bd43d4f8..a7a8e801283d 100755
--- a/tools/testing/selftests/rcutorture/bin/torture.sh
+++ b/tools/testing/selftests/rcutorture/bin/torture.sh
@@ -410,6 +410,7 @@ then
 	echo " --- allmodconfig:" Start `date` | tee -a $T/log
 	amcdir="tools/testing/selftests/rcutorture/res/$ds/allmodconfig"
 	mkdir -p "$amcdir"
+	mktestid.sh "$amcdir"
 	echo " --- make clean" | tee $amcdir/log > "$amcdir/Make.out" 2>&1
 	make -j$MAKE_ALLOTED_CPUS clean >> "$amcdir/Make.out" 2>&1
 	retcode=$?
@@ -516,6 +517,7 @@ then
 	echo " --- do-rcu-rust:" Start `date` | tee -a $T/log
 	rrdir="tools/testing/selftests/rcutorture/res/$ds/results-rcu-rust"
 	mkdir -p "$rrdir"
+	mktestid.sh "$rrdir"
 	echo " --- make LLVM=1 rustavailable " | tee -a $rrdir/log > $rrdir/rustavailable.out
 	make LLVM=1 rustavailable > $T/rustavailable.out 2>&1
 	retcode=$?
-- 
2.40.1


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH rcu 10/13] torture: Make torture.sh tolerate runs having bad kvm.sh arguments
  2025-07-09 10:44 [PATCH rcu 00/13] Torture script changes for v6.17 neeraj.upadhyay
                   ` (8 preceding siblings ...)
  2025-07-09 10:44 ` [PATCH rcu 09/13] torture: Add textid.txt file to --do-allmodconfig and --do-rcu-rust runs neeraj.upadhyay
@ 2025-07-09 10:44 ` neeraj.upadhyay
  2025-07-09 10:44 ` [PATCH rcu 11/13] torture: Add "ERROR" diagnostic for testing kernel-build output neeraj.upadhyay
                   ` (2 subsequent siblings)
  12 siblings, 0 replies; 15+ messages in thread
From: neeraj.upadhyay @ 2025-07-09 10:44 UTC (permalink / raw)
  To: rcu
  Cc: linux-kernel, paulmck, joelagnelf, frederic, boqun.feng, urezki,
	rostedt, mathieu.desnoyers, jiangshanlai, qiang.zhang1211,
	neeraj.iitr10, neeraj.upadhyay, Neeraj Upadhyay (AMD)

From: "Paul E. McKenney" <paulmck@kernel.org>

Currently, torture.sh assumes excessive levels of reviewer competence
and thus fails to gracefully handle cases where it is tricked into giving
kvm.sh invalid arguments.  This commit therefore upgrades error handling
to more gracefully handle this situation.

Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
Signed-off-by: Neeraj Upadhyay (AMD) <neeraj.upadhyay@kernel.org>
---
 .../selftests/rcutorture/bin/torture.sh       | 28 +++++++++++++++----
 1 file changed, 22 insertions(+), 6 deletions(-)

diff --git a/tools/testing/selftests/rcutorture/bin/torture.sh b/tools/testing/selftests/rcutorture/bin/torture.sh
index a7a8e801283d..39844d213da5 100755
--- a/tools/testing/selftests/rcutorture/bin/torture.sh
+++ b/tools/testing/selftests/rcutorture/bin/torture.sh
@@ -378,13 +378,19 @@ function torture_set {
 	then
 		curflavor=$flavor
 		torture_one "$@"
-		mv $T/last-resdir $T/last-resdir-nodebug || :
+		if test -e $T/last-resdir
+		then
+			mv $T/last-resdir $T/last-resdir-nodebug || :
+		fi
 	fi
 	if test "$do_kasan" = "yes"
 	then
 		curflavor=${flavor}-kasan
 		torture_one "$@" --kasan
-		mv $T/last-resdir $T/last-resdir-kasan || :
+		if test -e $T/last-resdir
+		then
+			mv $T/last-resdir $T/last-resdir-kasan || :
+		fi
 	fi
 	if test "$do_kcsan" = "yes"
 	then
@@ -400,7 +406,10 @@ function torture_set {
 			chk_rdr_state="CONFIG_RCU_TORTURE_TEST_CHK_RDR_STATE=y"
 		fi
 		torture_one "$@" --kconfig "CONFIG_DEBUG_LOCK_ALLOC=y CONFIG_PROVE_LOCKING=y ${kcsan_expert} ${chk_rdr_state}" $kcsan_kmake_tag $cur_kcsan_kmake_args --kcsan
-		mv $T/last-resdir $T/last-resdir-kcsan || :
+		if test -e $T/last-resdir
+		then
+			mv $T/last-resdir $T/last-resdir-kcsan || :
+		fi
 	fi
 }
 
@@ -704,7 +713,14 @@ nfailures=0
 echo FAILURES: | tee -a $T/log
 if test -s "$T/failures"
 then
-	awk < "$T/failures" -v sq="'" '{ print "echo " sq $0 sq; print "sed -e " sq "1,/^ --- .* Test summary:$/d" sq " " $2 "/log | grep Summary: | sed -e " sq "s/^[^S]*/  /" sq; }' | sh | tee -a $T/log | tee "$T/failuresum"
+	awk < "$T/failures" -v sq="'" '
+	{
+		print "echo " sq $0 sq;
+		if ($2 != "")
+			print "sed -e " sq "1,/^ --- .* Test summary:$/d" sq " " $2 "/log | grep Summary: | sed -e " sq "s/^[^S]*/  /" sq;
+		else
+			print "echo " sq "  " sq "Run failed to produce results directory.";
+	}' | sh | tee -a $T/log | tee "$T/failuresum"
 	nfailures="`wc -l "$T/failures" | awk '{ print $1 }'`"
 	grep "^  Summary: " "$T/failuresum" |
 		grep -v '^  Summary: Bugs: [0-9]* (all bugs kcsan)$' > "$T/nonkcsan"
@@ -714,13 +730,13 @@ then
 	fi
 	ret=2
 fi
-if test "$do_kcsan" = "yes"
+if test "$do_kcsan" = "yes" && test -e tools/testing/selftests/rcutorture/res/$ds
 then
 	TORTURE_KCONFIG_KCSAN_ARG=1 tools/testing/selftests/rcutorture/bin/kcsan-collapse.sh tools/testing/selftests/rcutorture/res/$ds > tools/testing/selftests/rcutorture/res/$ds/kcsan.sum
 fi
 echo Started at $startdate, ended at `date`, duration `get_starttime_duration $starttime`. | tee -a $T/log
 echo Summary: Successes: $nsuccesses Failures: $nfailures. | tee -a $T/log
-tdir="`cat $T/successes $T/failures | head -1 | awk '{ print $NF }' | sed -e 's,/[^/]\+/*$,,'`"
+tdir="`cat $T/successes $T/failures | awk 'NF > 1 { print $NF }' | head -1 | sed -e 's,/[^/]\+/*$,,'`"
 if test -n "$tdir"
 then
 	find "$tdir" -name 'ConfigFragment.diags' -print > $T/configerrors
-- 
2.40.1


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH rcu 11/13] torture: Add "ERROR" diagnostic for testing kernel-build output
  2025-07-09 10:44 [PATCH rcu 00/13] Torture script changes for v6.17 neeraj.upadhyay
                   ` (9 preceding siblings ...)
  2025-07-09 10:44 ` [PATCH rcu 10/13] torture: Make torture.sh tolerate runs having bad kvm.sh arguments neeraj.upadhyay
@ 2025-07-09 10:44 ` neeraj.upadhyay
  2025-07-09 10:44 ` [PATCH rcu 12/13] torture: Make torture.sh --allmodconfig testing fail on warnings neeraj.upadhyay
  2025-07-09 10:44 ` [PATCH rcu 13/13] torture: Remove support for SRCU-lite neeraj.upadhyay
  12 siblings, 0 replies; 15+ messages in thread
From: neeraj.upadhyay @ 2025-07-09 10:44 UTC (permalink / raw)
  To: rcu
  Cc: linux-kernel, paulmck, joelagnelf, frederic, boqun.feng, urezki,
	rostedt, mathieu.desnoyers, jiangshanlai, qiang.zhang1211,
	neeraj.iitr10, neeraj.upadhyay, Neeraj Upadhyay (AMD)

From: "Paul E. McKenney" <paulmck@kernel.org>

Some recent kernel-build failures have featured "ERROR", so this commit
adds it to the list checked by kvm-build.sh.

Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
Signed-off-by: Neeraj Upadhyay (AMD) <neeraj.upadhyay@kernel.org>
---
 tools/testing/selftests/rcutorture/bin/kvm-build.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/testing/selftests/rcutorture/bin/kvm-build.sh b/tools/testing/selftests/rcutorture/bin/kvm-build.sh
index 11f8d232b0ee..3edfd064ef81 100755
--- a/tools/testing/selftests/rcutorture/bin/kvm-build.sh
+++ b/tools/testing/selftests/rcutorture/bin/kvm-build.sh
@@ -44,7 +44,7 @@ fi
 ncpus="`getconf _NPROCESSORS_ONLN`"
 make -j$((2 * ncpus)) $TORTURE_KMAKE_ARG > $resdir/Make.out 2>&1
 retval=$?
-if test $retval -ne 0 || grep "rcu[^/]*": < $resdir/Make.out | grep -E -q "Stop|Error|error:|warning:" || grep -E -q "Stop|Error|error:" < $resdir/Make.out
+if test $retval -ne 0 || grep "rcu[^/]*": < $resdir/Make.out | grep -E -q "Stop|ERROR|Error|error:|warning:" || grep -E -q "Stop|ERROR|Error|error:" < $resdir/Make.out
 then
 	echo Kernel build error
 	grep -E "Stop|Error|error:|warning:" < $resdir/Make.out
-- 
2.40.1


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH rcu 12/13] torture: Make torture.sh --allmodconfig testing fail on warnings
  2025-07-09 10:44 [PATCH rcu 00/13] Torture script changes for v6.17 neeraj.upadhyay
                   ` (10 preceding siblings ...)
  2025-07-09 10:44 ` [PATCH rcu 11/13] torture: Add "ERROR" diagnostic for testing kernel-build output neeraj.upadhyay
@ 2025-07-09 10:44 ` neeraj.upadhyay
  2025-07-09 10:44 ` [PATCH rcu 13/13] torture: Remove support for SRCU-lite neeraj.upadhyay
  12 siblings, 0 replies; 15+ messages in thread
From: neeraj.upadhyay @ 2025-07-09 10:44 UTC (permalink / raw)
  To: rcu
  Cc: linux-kernel, paulmck, joelagnelf, frederic, boqun.feng, urezki,
	rostedt, mathieu.desnoyers, jiangshanlai, qiang.zhang1211,
	neeraj.iitr10, neeraj.upadhyay, Neeraj Upadhyay (AMD)

From: "Paul E. McKenney" <paulmck@kernel.org>

Currently, the torture.sh --allmodconfig testing looks solely at the
exit code from the kernel build, and thus fails to flag many compiler
warnings.  This commit therefore checks the kernel-build output for
compiler diagnostics.

Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
Signed-off-by: Neeraj Upadhyay (AMD) <neeraj.upadhyay@kernel.org>
---
 tools/testing/selftests/rcutorture/bin/torture.sh | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/tools/testing/selftests/rcutorture/bin/torture.sh b/tools/testing/selftests/rcutorture/bin/torture.sh
index 39844d213da5..611bc03a8dc7 100755
--- a/tools/testing/selftests/rcutorture/bin/torture.sh
+++ b/tools/testing/selftests/rcutorture/bin/torture.sh
@@ -438,6 +438,10 @@ then
 		make -j$MAKE_ALLOTED_CPUS >> "$amcdir/Make.out" 2>&1
 		retcode="$?"
 		echo $retcode > "$amcdir/Make.exitcode"
+		if grep -E -q "Stop|ERROR|Error|error:|warning:" < "$amcdir/Make.out"
+		then
+			retcode=99
+		fi
 		buildphase='"make"'
 	fi
 	if test "$retcode" -eq 0
-- 
2.40.1


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH rcu 13/13] torture: Remove support for SRCU-lite
  2025-07-09 10:44 [PATCH rcu 00/13] Torture script changes for v6.17 neeraj.upadhyay
                   ` (11 preceding siblings ...)
  2025-07-09 10:44 ` [PATCH rcu 12/13] torture: Make torture.sh --allmodconfig testing fail on warnings neeraj.upadhyay
@ 2025-07-09 10:44 ` neeraj.upadhyay
  12 siblings, 0 replies; 15+ messages in thread
From: neeraj.upadhyay @ 2025-07-09 10:44 UTC (permalink / raw)
  To: rcu
  Cc: linux-kernel, paulmck, joelagnelf, frederic, boqun.feng, urezki,
	rostedt, mathieu.desnoyers, jiangshanlai, qiang.zhang1211,
	neeraj.iitr10, neeraj.upadhyay, Neeraj Upadhyay (AMD)

From: "Paul E. McKenney" <paulmck@kernel.org>

Because SRCU-lite is being replaced by SRCU-fast, this commit removes
support for SRCU-lite from refscale.c.

Signed-off-by: "Paul E. McKenney" <paulmck@kernel.org>
Signed-off-by: Neeraj Upadhyay (AMD) <neeraj.upadhyay@kernel.org>
---
 kernel/rcu/refscale.c | 32 +-------------------------------
 1 file changed, 1 insertion(+), 31 deletions(-)

diff --git a/kernel/rcu/refscale.c b/kernel/rcu/refscale.c
index f11a7c2af778..f4b2cea1cce5 100644
--- a/kernel/rcu/refscale.c
+++ b/kernel/rcu/refscale.c
@@ -246,36 +246,6 @@ static const struct ref_scale_ops srcu_fast_ops = {
 	.name		= "srcu-fast"
 };
 
-static void srcu_lite_ref_scale_read_section(const int nloops)
-{
-	int i;
-	int idx;
-
-	for (i = nloops; i >= 0; i--) {
-		idx = srcu_read_lock_lite(srcu_ctlp);
-		srcu_read_unlock_lite(srcu_ctlp, idx);
-	}
-}
-
-static void srcu_lite_ref_scale_delay_section(const int nloops, const int udl, const int ndl)
-{
-	int i;
-	int idx;
-
-	for (i = nloops; i >= 0; i--) {
-		idx = srcu_read_lock_lite(srcu_ctlp);
-		un_delay(udl, ndl);
-		srcu_read_unlock_lite(srcu_ctlp, idx);
-	}
-}
-
-static const struct ref_scale_ops srcu_lite_ops = {
-	.init		= rcu_sync_scale_init,
-	.readsection	= srcu_lite_ref_scale_read_section,
-	.delaysection	= srcu_lite_ref_scale_delay_section,
-	.name		= "srcu-lite"
-};
-
 #ifdef CONFIG_TASKS_RCU
 
 // Definitions for RCU Tasks ref scale testing: Empty read markers.
@@ -1193,7 +1163,7 @@ ref_scale_init(void)
 	long i;
 	int firsterr = 0;
 	static const struct ref_scale_ops *scale_ops[] = {
-		&rcu_ops, &srcu_ops, &srcu_fast_ops, &srcu_lite_ops, RCU_TRACE_OPS RCU_TASKS_OPS
+		&rcu_ops, &srcu_ops, &srcu_fast_ops, RCU_TRACE_OPS RCU_TASKS_OPS
 		&refcnt_ops, &rwlock_ops, &rwsem_ops, &lock_ops, &lock_irq_ops,
 		&acqrel_ops, &sched_clock_ops, &clock_ops, &jiffies_ops,
 		&typesafe_ref_ops, &typesafe_lock_ops, &typesafe_seqlock_ops,
-- 
2.40.1


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* Re: [PATCH rcu 06/13] torture: Provide EXPERT Kconfig option for arm64 KCSAN torture.sh runs
  2025-07-09 10:44 ` [PATCH rcu 06/13] torture: Provide EXPERT Kconfig option for arm64 KCSAN torture.sh runs neeraj.upadhyay
@ 2025-07-11 15:42   ` Will Deacon
  0 siblings, 0 replies; 15+ messages in thread
From: Will Deacon @ 2025-07-11 15:42 UTC (permalink / raw)
  To: neeraj.upadhyay
  Cc: rcu, linux-kernel, paulmck, joelagnelf, frederic, boqun.feng,
	urezki, rostedt, mathieu.desnoyers, jiangshanlai, qiang.zhang1211,
	neeraj.iitr10, neeraj.upadhyay, Marco Elver, Dmitry Vyukov,
	Catalin Marinas, kasan-dev, linux-arm-kernel

On Wed, Jul 09, 2025 at 04:14:07PM +0530, neeraj.upadhyay@kernel.org wrote:
> From: "Paul E. McKenney" <paulmck@kernel.org>
> 
> The arm64 architecture requires that KCSAN-enabled kernels be built with
> the CONFIG_EXPERT=y Kconfig option.  This commit therefore causes the
> torture.sh script to provide this option, but only for --kcsan runs on
> arm64 systems.
> 
> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
> Cc: Marco Elver <elver@google.com>
> Cc: Dmitry Vyukov <dvyukov@google.com>
> Cc: Catalin Marinas <catalin.marinas@arm.com>
> Cc: Will Deacon <will@kernel.org>
> Cc: <kasan-dev@googlegroups.com>
> Cc: <linux-arm-kernel@lists.infradead.org>
> Signed-off-by: Neeraj Upadhyay (AMD) <neeraj.upadhyay@kernel.org>
> ---
>  tools/testing/selftests/rcutorture/bin/torture.sh | 9 ++++++++-
>  1 file changed, 8 insertions(+), 1 deletion(-)
> 
> diff --git a/tools/testing/selftests/rcutorture/bin/torture.sh b/tools/testing/selftests/rcutorture/bin/torture.sh
> index 25847042e30e..420c551b824b 100755
> --- a/tools/testing/selftests/rcutorture/bin/torture.sh
> +++ b/tools/testing/selftests/rcutorture/bin/torture.sh
> @@ -313,6 +313,13 @@ then
>  	do_scftorture=no
>  fi
>  
> +# CONFIG_EXPERT=y is currently required for arm64 KCSAN runs.
> +kcsan_expert=
> +if test "${thisarch}" = aarch64
> +then
> +	kcsan_expert="CONFIG_EXPERT=y"
> +fi

Acked-by: Will Deacon <will@kernel.org>

Will

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2025-07-11 15:42 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-09 10:44 [PATCH rcu 00/13] Torture script changes for v6.17 neeraj.upadhyay
2025-07-09 10:44 ` [PATCH rcu 01/13] torture: Suppress torture.sh "Zero time" messages for disabled tests neeraj.upadhyay
2025-07-09 10:44 ` [PATCH rcu 02/13] torture: Permit multiple space characters in kvm.sh --kconfig argument neeraj.upadhyay
2025-07-09 10:44 ` [PATCH rcu 03/13] torture: Make torture.sh KCSAN runs set CONFIG_RCU_TORTURE_TEST_CHK_RDR_STATE=y neeraj.upadhyay
2025-07-09 10:44 ` [PATCH rcu 04/13] torture: Default --no-rcutasksflavors on arm64 neeraj.upadhyay
2025-07-09 10:44 ` [PATCH rcu 05/13] torture: Default --no-clocksourcewd " neeraj.upadhyay
2025-07-09 10:44 ` [PATCH rcu 06/13] torture: Provide EXPERT Kconfig option for arm64 KCSAN torture.sh runs neeraj.upadhyay
2025-07-11 15:42   ` Will Deacon
2025-07-09 10:44 ` [PATCH rcu 07/13] torture: Suppress "find" diagnostics from torture.sh --do-none run neeraj.upadhyay
2025-07-09 10:44 ` [PATCH rcu 08/13] torture: Extract testid.txt generation to separate script neeraj.upadhyay
2025-07-09 10:44 ` [PATCH rcu 09/13] torture: Add textid.txt file to --do-allmodconfig and --do-rcu-rust runs neeraj.upadhyay
2025-07-09 10:44 ` [PATCH rcu 10/13] torture: Make torture.sh tolerate runs having bad kvm.sh arguments neeraj.upadhyay
2025-07-09 10:44 ` [PATCH rcu 11/13] torture: Add "ERROR" diagnostic for testing kernel-build output neeraj.upadhyay
2025-07-09 10:44 ` [PATCH rcu 12/13] torture: Make torture.sh --allmodconfig testing fail on warnings neeraj.upadhyay
2025-07-09 10:44 ` [PATCH rcu 13/13] torture: Remove support for SRCU-lite neeraj.upadhyay

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).