Hello! This series provides torture-test updates:
1. Add forward-progress checking to distinguish between stalls in the RCU implementation and in the torture test itself. 2. Remove the --builddir and --relbuilddir options, which have been obsoleted by the parallel testing facility. 3. Make "--dryrun sched" output more readable by clearly indicating where each batch of concurrent runs starts. 4. Make torture-test errors less RCU-specific. ("Hey, why did my locktorture run complain about RCU???") 5,8-14. Rename variables to reflect the new RCU-independence of a number of the torture-test scripts. 6. Reduce locktorture sleeping to increase intensity. 7. Add a --defconfig argument to allow other default configs to be specified. 15. Make config-fragment filtering RCU-independent. 16. Mark private functions as static in kernel/rcu/torture.c, courtesy of Rashika Kheria. 17-18. Make the output of "--dryrun script" independently runnable. 19. Print negative numbers when SRCU counters wrap instead of huge 64-bit integers. 20. Fix "Stopping" torture messages. 21. Report any diagnostics issued by qemu. 22. Make kthreads spin during the last jiffy of a stutter period to increase the intensity of torture stop-start events. 23. Permit multiple qemu and boot arguments to be specified on the command line. 24. Choose bzImage location based on architecture. 25. Add tracing-enabled variant of TREE02 to aid debugging. 26. Dump the ftrace buffer when the RCU grace period stalls. 27. Export the RCU grace-period kthread wait state to rcutorture to ease diagnosis of RCU grace-period stalls. 28. Fix bug in raw_cpu_inc_return(). 29. Make cond_resched() report RCU quiescent states. 30. Make rcu_torture_reader() use cond_resched() instead of unconditionally invoking schedule(). 31. Complain if an all-zero cpumask is specified during a torture shuffle operation, courtesy of Iulia Manda. 32. Make build failures more evident. 33. Capture and report the torture_create_kthread() return value when creating the rcu_torture_fqs kthread. 34. Use elapsed time to detect hangs rather than counting "sleep 1" commands. 35. Rearrange config fragments to ensure that RCU-sched primitives are tested in TREE_PREEMPT_RCU kernels. 36. Add rcutorture tests for get_state_synchronize_rcu() and cond_synchronize_rcu(). 37. Add explicit tests for synchronous grace-period primitives. 38. Add missing destroy_timer_on_stack(), courtesy of Thomas Gleixner. 39. Make scripts record "git diff HEAD" to ease reproduction of an unexpected torture-test result. 40. Run rcu_torture_writer() at normal priority. 41. Put the qemu process into the background to better handle kernel hangs. 42. Remove reference to a non-existent Kconfig parameter. 43. Refuse to run multiple concurrent torture tests. 44. Remove __init from torture_init_begin() and torture_init_end() to allow rcutorture to once again work as a loadable module. 45. Remove unused torture_parm() macro. Thanx, Paul ------------------------------------------------------------------------ b/include/linux/percpu.h | 2 b/include/linux/rcupdate.h | 19 + b/include/linux/rcutiny.h | 4 b/include/linux/rcutree.h | 1 b/include/linux/torture.h | 2 b/kernel/locking/locktorture.c | 3 b/kernel/rcu/rcutorture.c | 37 ++ b/kernel/rcu/tree.c | 18 + b/kernel/rcu/tree.h | 8 b/kernel/rcu/update.c | 18 + b/kernel/sched/core.c | 7 b/kernel/torture.c | 5 b/tools/testing/selftests/rcutorture/bin/configinit.sh | 2 b/tools/testing/selftests/rcutorture/bin/functions.sh | 12 b/tools/testing/selftests/rcutorture/bin/kvm-build.sh | 2 b/tools/testing/selftests/rcutorture/bin/kvm-recheck-lock.sh | 2 b/tools/testing/selftests/rcutorture/bin/kvm-recheck-rcu.sh | 2 b/tools/testing/selftests/rcutorture/bin/kvm-recheck.sh | 2 b/tools/testing/selftests/rcutorture/bin/kvm-test-1-run.sh | 2 b/tools/testing/selftests/rcutorture/bin/kvm.sh | 16 b/tools/testing/selftests/rcutorture/bin/parse-torture.sh | 106 ++++++ b/tools/testing/selftests/rcutorture/configs/rcu/TREE02-T | 25 + b/tools/testing/selftests/rcutorture/configs/rcu/TREE08.boot | 1 include/linux/rcupdate.h | 36 ++ include/linux/torture.h | 6 kernel/locking/locktorture.c | 7 kernel/rcu/rcutorture.c | 193 +++++++---- kernel/rcu/tree.c | 17 kernel/torture.c | 36 +- tools/testing/selftests/rcutorture/bin/functions.sh | 35 + tools/testing/selftests/rcutorture/bin/kvm-build.sh | 4 tools/testing/selftests/rcutorture/bin/kvm-recheck.sh | 24 + tools/testing/selftests/rcutorture/bin/kvm-test-1-run.sh | 44 +- tools/testing/selftests/rcutorture/bin/kvm.sh | 162 +++++---- tools/testing/selftests/rcutorture/bin/parse-rcutorture.sh | 106 ------ 35 files changed, 649 insertions(+), 317 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/