[PATCH tip/core/rcu 0/13] Torture-test updates for 4.2

Paul E. McKenney
2015-05-12T22:58:00Z

Hello!

This series contains torture-test updates:

1. Use correct locking primitive, thus avoiding deadlock, courtesy
of Alexey Kodanev.

2. Exchange TREE03 and TREE04 geometries in order to improve bug-location
rates.

3. Exchange TREE03 and TREE08 NR_CPUS, speed up CPU hotplug to further
improve bug-location rates.

4. Allow negative values of nreaders to in order to oversubscribe
the CPUs, again to improve bug-location rates.

5. Change longdelay_us to longdelay_ms in order to better reflect
reality. (Not that gcc cares, but people reading the code just
might.)

6. Replace open-coded memory barriers with the shiny new
smp_store_release() and smp_load_acquire() primitives.

7. Test SRCU cleanup code path in order to improve test coverage.

8. Avoid explicitly setting CONFIG_TASKS_RCU, given that it is
now set implicitly based on other configuration options.

9. Update configuration fragments from CONFIG_RCU_FANOUT_EXACT to
the new rcutree.rcu_fanout_exact= boot parameter.

10. Make rcutorture scripts force RCU_EXPERT so that they can still
build the needed kernel configurations.

11. Update TREE_RCU-kconfig.txt to describe new kernel-parameter
setup.

12. Make torture scripts display "make oldconfig" errors

13. Allow repetition factors in Kconfig-fragment lists. Because
typing 48 repetitions of "TINY02" is getting old.

Thanx, Paul

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

b/kernel/locking/locktorture.c | 14 -
b/kernel/rcu/rcutorture.c | 103 ++++++----
b/tools/testing/selftests/rcutorture/bin/configinit.sh | 2
b/tools/testing/selftests/rcutorture/bin/kvm-recheck.sh | 4
b/tools/testing/selftests/rcutorture/bin/kvm.sh | 25 +-
b/tools/testing/selftests/rcutorture/configs/rcu/SRCU-N | 1
b/tools/testing/selftests/rcutorture/configs/rcu/SRCU-P | 1
b/tools/testing/selftests/rcutorture/configs/rcu/SRCU-P.boot | 2
b/tools/testing/selftests/rcutorture/configs/rcu/TASKS01 | 5
b/tools/testing/selftests/rcutorture/configs/rcu/TASKS02 | 1
b/tools/testing/selftests/rcutorture/configs/rcu/TASKS03 | 2
b/tools/testing/selftests/rcutorture/configs/rcu/TINY02 | 2
b/tools/testing/selftests/rcutorture/configs/rcu/TREE01 | 1
b/tools/testing/selftests/rcutorture/configs/rcu/TREE02 | 2
b/tools/testing/selftests/rcutorture/configs/rcu/TREE02-T | 1
b/tools/testing/selftests/rcutorture/configs/rcu/TREE03 | 8
b/tools/testing/selftests/rcutorture/configs/rcu/TREE03.boot | 1
b/tools/testing/selftests/rcutorture/configs/rcu/TREE04 | 8
b/tools/testing/selftests/rcutorture/configs/rcu/TREE05 | 4
b/tools/testing/selftests/rcutorture/configs/rcu/TREE06 | 4
b/tools/testing/selftests/rcutorture/configs/rcu/TREE06.boot | 1
b/tools/testing/selftests/rcutorture/configs/rcu/TREE07 | 4
b/tools/testing/selftests/rcutorture/configs/rcu/TREE08 | 6
b/tools/testing/selftests/rcutorture/configs/rcu/TREE08-T | 1
b/tools/testing/selftests/rcutorture/configs/rcu/TREE08-T.boot | 1
b/tools/testing/selftests/rcutorture/configs/rcu/TREE08.boot | 1
b/tools/testing/selftests/rcutorture/configs/rcu/TREE09 | 1
b/tools/testing/selftests/rcutorture/doc/TREE_RCU-kconfig.txt | 36 +--
28 files changed, 148 insertions(+), 94 deletions(-)