The torture.sh --do-rt command-line parameter is intended to mimic -rt
kernels.  Now that CONFIG_PREEMPT_RT is upstream, this commit makes this
mimicking more precise.

Note that testing of RCU priority boosting is disabled in favor
of forward-progress testing of RCU callbacks.  If it turns out to be
possible to make kernels built with CONFIG_PREEMPT_RT=y to tolerate
testing of both, both will be enabled.

Signed-off-by: Paul E. McKenney <paul...@kernel.org>
Cc: Sebastian Andrzej Siewior <bige...@linutronix.de>
---
 tools/testing/selftests/rcutorture/bin/torture.sh | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/tools/testing/selftests/rcutorture/bin/torture.sh 
b/tools/testing/selftests/rcutorture/bin/torture.sh
index 0447c4a00cc4d..9cabe505585ea 100755
--- a/tools/testing/selftests/rcutorture/bin/torture.sh
+++ b/tools/testing/selftests/rcutorture/bin/torture.sh
@@ -448,13 +448,17 @@ fi
 
 if test "$do_rt" = "yes"
 then
+       # In both runs, disable testing of RCU priority boosting because
+       # -rt doesn't like its interaction with testing of callback
+       # flooding.
+
        # With all post-boot grace periods forced to normal.
-       torture_bootargs="rcupdate.rcu_cpu_stall_suppress_at_boot=1 
torture.disable_onoff_at_boot rcupdate.rcu_task_stall_timeout=30000 
rcupdate.rcu_normal=1"
-       torture_set "rcurttorture" 
tools/testing/selftests/rcutorture/bin/kvm.sh --allcpus --duration 
"$duration_rcutorture" --configs "TREE03" --trust-make
+       torture_bootargs="rcupdate.rcu_cpu_stall_suppress_at_boot=1 
torture.disable_onoff_at_boot rcupdate.rcu_task_stall_timeout=30000 
rcutorture.test_boost=0 rcupdate.rcu_normal=1"
+       torture_set "rcurttorture" 
tools/testing/selftests/rcutorture/bin/kvm.sh --allcpus --duration 
"$duration_rcutorture" --configs "TREE03" --kconfig "CONFIG_PREEMPT_LAZY=n 
CONFIG_PREEMPT_RT=y CONFIG_EXPERT=y" --trust-make
 
        # With all post-boot grace periods forced to expedited.
-       torture_bootargs="rcupdate.rcu_cpu_stall_suppress_at_boot=1 
torture.disable_onoff_at_boot rcupdate.rcu_task_stall_timeout=30000 
rcupdate.rcu_expedited=1"
-       torture_set "rcurttorture-exp" 
tools/testing/selftests/rcutorture/bin/kvm.sh --allcpus --duration 
"$duration_rcutorture" --configs "TREE03" --trust-make
+       torture_bootargs="rcupdate.rcu_cpu_stall_suppress_at_boot=1 
torture.disable_onoff_at_boot rcupdate.rcu_task_stall_timeout=30000 
rcutorture.test_boost=0 rcupdate.rcu_expedited=1"
+       torture_set "rcurttorture-exp" 
tools/testing/selftests/rcutorture/bin/kvm.sh --allcpus --duration 
"$duration_rcutorture" --configs "TREE03" --kconfig "CONFIG_PREEMPT_LAZY=n 
CONFIG_PREEMPT_RT=y CONFIG_EXPERT=y" --trust-make
 fi
 
 if test "$do_srcu_lockdep" = "yes"
-- 
2.40.1


Reply via email to