[PATCH tip/core/rcu 0/19] New smp_call_function() torture test for v5.10

Paul E. McKenney
2020-08-31T18:07:35Z

Hello!

This series introduces a new torture test for smp_call_function()
and friends:

1. Add smp_call_function() torture test.

2. Declare parse-console.sh independence from rcutorture.

3. Add scftorture to the rcutorture scripting.

4. Implement weighted primitive selection.

5. tick-sched: Clarify "NOHZ: local_softirq_pending" warning.

6. Summarize per-thread statistics.

7. Add smp_call_function_single() memory-ordering checks.

8. Add smp_call_function_many() memory-ordering checks.

9. Add smp_call_function() memory-ordering checks.

10. Consolidate scftorture_invoke_one() check and kfree().

11. Consolidate scftorture_invoke_one() scf_check initialization.

12. Flag errors in torture-compatible manner.

13. Prevent compiler from reducing race probabilities.

14. Make symbol 'scf_torture_rand' static.

15. Check unexpected "switch" statement value.

16. Block scftorture_invoker() kthreads for offline CPUs.

17. Adapt memory-ordering test to UP operation.

18. Add cond_resched() to test loop.

19. Change rcuperf to rcuscale.

Thanx, Paul

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

b/Documentation/admin-guide/kernel-parameters.txt | 128 +
b/MAINTAINERS | 3
b/kernel/Makefile | 2
b/kernel/rcu/Kconfig.debug | 2
b/kernel/rcu/Makefile | 2
b/kernel/rcu/rcuscale.c | 330 ++--
b/kernel/scftorture.c | 755 ++++++++--
b/kernel/time/tick-sched.c | 2
b/lib/Kconfig.debug | 10
b/tools/testing/selftests/rcutorture/bin/kvm-recheck-rcuscale-ftrace.sh | 6
b/tools/testing/selftests/rcutorture/bin/kvm-recheck-rcuscale.sh | 14
b/tools/testing/selftests/rcutorture/bin/kvm-recheck-scf.sh | 38
b/tools/testing/selftests/rcutorture/bin/kvm.sh | 10
b/tools/testing/selftests/rcutorture/bin/parse-console.sh | 11
b/tools/testing/selftests/rcutorture/configs/rcuscale/CFcommon | 2
b/tools/testing/selftests/rcutorture/configs/rcuscale/ver_functions.sh | 4
b/tools/testing/selftests/rcutorture/configs/scf/CFLIST | 2
b/tools/testing/selftests/rcutorture/configs/scf/CFcommon | 2
b/tools/testing/selftests/rcutorture/configs/scf/NOPREEMPT | 9
b/tools/testing/selftests/rcutorture/configs/scf/NOPREEMPT.boot | 1
b/tools/testing/selftests/rcutorture/configs/scf/PREEMPT | 9
b/tools/testing/selftests/rcutorture/configs/scf/ver_functions.sh | 30
tools/testing/selftests/rcutorture/configs/rcuperf/CFcommon | 2
23 files changed, 1073 insertions(+), 301 deletions(-)