[PATCH rcu 0/12] RCU-tasks torture-test updates

From: Paul E. McKenney
Date: Mon Apr 18 2022 - 20:11:39 EST


Hello!

This series contains torture-tests updates for the RCU tasks flavors,
most notably ensuring that building rcutorture and friends does not
change the RCU-tasks-related Kconfig options.

1. Make TASKS_RUDE_RCU select IRQ_WORK.

2. Make the TASKS_RCU Kconfig option be selected.

3. Allow rcutorture without RCU Tasks Trace.

4. Allow rcutorture without RCU Tasks.

5. Allow rcutorture without RCU Tasks Rude.

6. Add CONFIG_PREEMPT_DYNAMIC=n to TASKS02 scenario.

7. Allow specifying per-scenario stat_interval.

8. Allow refscale without RCU Tasks.

9. Allow refscale without RCU Tasks Rude/Trace.

10. Allow rcuscale without RCU Tasks.

11. Allow rcuscale without RCU Tasks Rude/Trace.

12. Adjust for TASKS_RCU Kconfig option being selected.

Thanx, Paul

------------------------------------------------------------------------

b/arch/Kconfig | 1
b/kernel/bpf/Kconfig | 1
b/kernel/rcu/Kconfig | 1
b/kernel/rcu/Kconfig.debug | 1
b/kernel/rcu/rcuscale.c | 12 +
b/kernel/rcu/rcutorture.c | 101 +++++-----
b/kernel/rcu/refscale.c | 12 +
b/kernel/trace/Kconfig | 1
b/tools/testing/selftests/rcutorture/configs/rcu/RUDE01 | 2
b/tools/testing/selftests/rcutorture/configs/rcu/SRCU-N | 2
b/tools/testing/selftests/rcutorture/configs/rcu/TASKS01 | 1
b/tools/testing/selftests/rcutorture/configs/rcu/TASKS02 | 3
b/tools/testing/selftests/rcutorture/configs/rcu/TASKS02.boot | 1
b/tools/testing/selftests/rcutorture/configs/rcu/TASKS03 | 2
b/tools/testing/selftests/rcutorture/configs/rcu/TRACE01 | 2
b/tools/testing/selftests/rcutorture/configs/rcu/TRACE02 | 2
b/tools/testing/selftests/rcutorture/configs/rcu/TREE09 | 2
b/tools/testing/selftests/rcutorture/configs/rcu/ver_functions.sh | 16 +
b/tools/testing/selftests/rcutorture/configs/rcuscale/CFcommon | 4
b/tools/testing/selftests/rcutorture/configs/rcuscale/TREE | 2
b/tools/testing/selftests/rcutorture/configs/refscale/CFcommon | 2
b/tools/testing/selftests/rcutorture/configs/refscale/NOPREEMPT | 2
b/tools/testing/selftests/rcutorture/configs/scf/NOPREEMPT | 2
b/tools/testing/selftests/rcutorture/configs/scf/PREEMPT | 1
kernel/rcu/Kconfig | 64 ++++--
kernel/rcu/Kconfig.debug | 8
kernel/rcu/rcuscale.c | 12 +
kernel/rcu/rcutorture.c | 26 ++
kernel/rcu/refscale.c | 12 +
tools/testing/selftests/rcutorture/configs/rcu/TASKS02 | 1
tools/testing/selftests/rcutorture/configs/rcuscale/CFcommon | 3
tools/testing/selftests/rcutorture/configs/refscale/CFcommon | 2
32 files changed, 219 insertions(+), 85 deletions(-)