mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-22 17:01:14 +00:00
rcutorture: Refactor TINY_RCU test cases
The TINY_RCU test cases were first put in place many years ago, and have been incrementally modified rather than being reworked. This commit therefore completes a long-overdue reworking of the TINY_RCU test cases. Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Cc: Greg KH <gregkh@linuxfoundation.org>
This commit is contained in:
parent
27ac1ddf21
commit
0f66f92d11
8 changed files with 68 additions and 90 deletions
|
@ -9,5 +9,5 @@ TREE08
|
|||
TREE09
|
||||
SRCU-N
|
||||
SRCU-P
|
||||
NT1-nh
|
||||
NT3-NH
|
||||
TINY01
|
||||
TINY02
|
||||
|
|
|
@ -1,23 +0,0 @@
|
|||
#CHECK#CONFIG_TINY_RCU=y
|
||||
CONFIG_RCU_TRACE=y
|
||||
CONFIG_RCU_TORTURE_TEST=m
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
CONFIG_SUSPEND=n
|
||||
CONFIG_HIBERNATION=n
|
||||
#
|
||||
CONFIG_SMP=n
|
||||
#
|
||||
CONFIG_HOTPLUG_CPU=n
|
||||
#
|
||||
CONFIG_NO_HZ=n
|
||||
#
|
||||
CONFIG_PREEMPT_NONE=y
|
||||
CONFIG_PREEMPT_VOLUNTARY=n
|
||||
CONFIG_PREEMPT=n
|
||||
CONFIG_PROVE_LOCKING=y
|
||||
CONFIG_PROVE_RCU=y
|
||||
CONFIG_SYSFS_DEPRECATED_V2=y
|
||||
CONFIG_IKCONFIG=y
|
||||
CONFIG_IKCONFIG_PROC=y
|
||||
CONFIG_PRINTK_TIME=y
|
||||
|
|
@ -1,20 +0,0 @@
|
|||
#CHECK#CONFIG_TINY_RCU=y
|
||||
CONFIG_RCU_TORTURE_TEST=m
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
CONFIG_SUSPEND=n
|
||||
CONFIG_HIBERNATION=n
|
||||
#
|
||||
CONFIG_SMP=n
|
||||
#
|
||||
CONFIG_HOTPLUG_CPU=n
|
||||
#
|
||||
CONFIG_NO_HZ=y
|
||||
#
|
||||
CONFIG_PREEMPT_NONE=y
|
||||
CONFIG_PREEMPT_VOLUNTARY=n
|
||||
CONFIG_PREEMPT=n
|
||||
CONFIG_SYSFS_DEPRECATED_V2=y
|
||||
CONFIG_IKCONFIG=y
|
||||
CONFIG_IKCONFIG_PROC=y
|
||||
CONFIG_PRINTK_TIME=y
|
||||
|
|
@ -1,23 +0,0 @@
|
|||
CONFIG_TINY_PREEMPT_RCU=y
|
||||
CONFIG_RCU_BOOST=y
|
||||
CONFIG_RCU_BOOST_PRIO=2
|
||||
CONFIG_RCU_TRACE=y
|
||||
CONFIG_RCU_TORTURE_TEST=m
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
CONFIG_SUSPEND=n
|
||||
CONFIG_HIBERNATION=n
|
||||
#
|
||||
CONFIG_SMP=n
|
||||
#
|
||||
CONFIG_HOTPLUG_CPU=n
|
||||
#
|
||||
CONFIG_NO_HZ=n
|
||||
#
|
||||
CONFIG_PREEMPT_NONE=n
|
||||
CONFIG_PREEMPT_VOLUNTARY=n
|
||||
CONFIG_PREEMPT=y
|
||||
CONFIG_SYSFS_DEPRECATED_V2=y
|
||||
CONFIG_IKCONFIG=y
|
||||
CONFIG_IKCONFIG_PROC=y
|
||||
CONFIG_PRINTK_TIME=y
|
||||
|
|
@ -1,22 +0,0 @@
|
|||
CONFIG_TINY_PREEMPT_RCU=y
|
||||
CONFIG_RCU_TORTURE_TEST=m
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
CONFIG_SUSPEND=n
|
||||
CONFIG_HIBERNATION=n
|
||||
#
|
||||
CONFIG_SMP=n
|
||||
#
|
||||
CONFIG_HOTPLUG_CPU=n
|
||||
#
|
||||
CONFIG_NO_HZ=y
|
||||
#
|
||||
CONFIG_PREEMPT_NONE=n
|
||||
CONFIG_PREEMPT_VOLUNTARY=n
|
||||
CONFIG_PREEMPT=y
|
||||
CONFIG_PROVE_LOCKING=y
|
||||
CONFIG_PROVE_RCU=y
|
||||
CONFIG_SYSFS_DEPRECATED_V2=y
|
||||
CONFIG_IKCONFIG=y
|
||||
CONFIG_IKCONFIG_PROC=y
|
||||
CONFIG_PRINTK_TIME=y
|
||||
|
13
tools/testing/selftests/rcutorture/configs/TINY01
Normal file
13
tools/testing/selftests/rcutorture/configs/TINY01
Normal file
|
@ -0,0 +1,13 @@
|
|||
CONFIG_SMP=n
|
||||
CONFIG_PREEMPT_NONE=y
|
||||
CONFIG_PREEMPT_VOLUNTARY=n
|
||||
CONFIG_PREEMPT=n
|
||||
#CHECK#CONFIG_TINY_RCU=y
|
||||
CONFIG_HZ_PERIODIC=n
|
||||
CONFIG_NO_HZ_IDLE=y
|
||||
CONFIG_NO_HZ_FULL=n
|
||||
CONFIG_RCU_TRACE=n
|
||||
CONFIG_DEBUG_LOCK_ALLOC=n
|
||||
CONFIG_DEBUG_OBJECTS_RCU_HEAD=n
|
||||
CONFIG_PREEMPT_COUNT=n
|
||||
CONFIG_PRINTK_TIME=y
|
13
tools/testing/selftests/rcutorture/configs/TINY02
Normal file
13
tools/testing/selftests/rcutorture/configs/TINY02
Normal file
|
@ -0,0 +1,13 @@
|
|||
CONFIG_SMP=n
|
||||
CONFIG_PREEMPT_NONE=y
|
||||
CONFIG_PREEMPT_VOLUNTARY=n
|
||||
CONFIG_PREEMPT=n
|
||||
#CHECK#CONFIG_TINY_RCU=y
|
||||
CONFIG_HZ_PERIODIC=y
|
||||
CONFIG_NO_HZ_IDLE=n
|
||||
CONFIG_NO_HZ_FULL=n
|
||||
CONFIG_RCU_TRACE=y
|
||||
CONFIG_DEBUG_LOCK_ALLOC=y
|
||||
CONFIG_DEBUG_OBJECTS_RCU_HEAD=n
|
||||
CONFIG_PREEMPT_COUNT=y
|
||||
CONFIG_PRINTK_TIME=y
|
40
tools/testing/selftests/rcutorture/doc/TINY_RCU.txt
Normal file
40
tools/testing/selftests/rcutorture/doc/TINY_RCU.txt
Normal file
|
@ -0,0 +1,40 @@
|
|||
This document gives a brief rationale for the TINY_RCU test cases.
|
||||
|
||||
|
||||
Kconfig Parameters:
|
||||
|
||||
CONFIG_DEBUG_LOCK_ALLOC -- Do all three and none of the three.
|
||||
CONFIG_PREEMPT_COUNT
|
||||
CONFIG_RCU_TRACE
|
||||
|
||||
The theory here is that randconfig testing will hit the other six possible
|
||||
combinations of these parameters.
|
||||
|
||||
|
||||
Kconfig Parameters Ignored:
|
||||
|
||||
CONFIG_DEBUG_OBJECTS_RCU_HEAD
|
||||
CONFIG_PROVE_RCU
|
||||
|
||||
In common code tested by TREE_RCU test cases.
|
||||
|
||||
CONFIG_NO_HZ_FULL_SYSIDLE
|
||||
CONFIG_RCU_NOCB_CPU
|
||||
CONFIG_RCU_USER_QS
|
||||
|
||||
Meaningless for TINY_RCU.
|
||||
|
||||
CONFIG_RCU_STALL_COMMON
|
||||
CONFIG_RCU_TORTURE_TEST
|
||||
|
||||
Redundant with CONFIG_RCU_TRACE.
|
||||
|
||||
CONFIG_HOTPLUG_CPU
|
||||
CONFIG_PREEMPT
|
||||
CONFIG_PREEMPT_RCU
|
||||
CONFIG_SMP
|
||||
CONFIG_TINY_RCU
|
||||
CONFIG_TREE_PREEMPT_RCU
|
||||
CONFIG_TREE_RCU
|
||||
|
||||
All forced by CONFIG_TINY_RCU.
|
Loading…
Reference in a new issue