Commit 0f66f92d authored by Paul E. McKenney's avatar Paul E. McKenney

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: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: Greg KH <gregkh@linuxfoundation.org>
parent 27ac1ddf
...@@ -9,5 +9,5 @@ TREE08 ...@@ -9,5 +9,5 @@ TREE08
TREE09 TREE09
SRCU-N SRCU-N
SRCU-P SRCU-P
NT1-nh TINY01
NT3-NH TINY02
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
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
#CHECK#CONFIG_TINY_RCU=y
CONFIG_RCU_TORTURE_TEST=m
CONFIG_MODULE_UNLOAD=y
CONFIG_SUSPEND=n
CONFIG_HIBERNATION=n
#
CONFIG_SMP=n CONFIG_SMP=n
#
CONFIG_HOTPLUG_CPU=n
#
CONFIG_NO_HZ=y
#
CONFIG_PREEMPT_NONE=y CONFIG_PREEMPT_NONE=y
CONFIG_PREEMPT_VOLUNTARY=n CONFIG_PREEMPT_VOLUNTARY=n
CONFIG_PREEMPT=n CONFIG_PREEMPT=n
CONFIG_SYSFS_DEPRECATED_V2=y #CHECK#CONFIG_TINY_RCU=y
CONFIG_IKCONFIG=y CONFIG_HZ_PERIODIC=n
CONFIG_IKCONFIG_PROC=y 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 CONFIG_PRINTK_TIME=y
#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_SMP=n
#
CONFIG_HOTPLUG_CPU=n
#
CONFIG_NO_HZ=n
#
CONFIG_PREEMPT_NONE=y CONFIG_PREEMPT_NONE=y
CONFIG_PREEMPT_VOLUNTARY=n CONFIG_PREEMPT_VOLUNTARY=n
CONFIG_PREEMPT=n CONFIG_PREEMPT=n
CONFIG_PROVE_LOCKING=y #CHECK#CONFIG_TINY_RCU=y
CONFIG_PROVE_RCU=y CONFIG_HZ_PERIODIC=y
CONFIG_SYSFS_DEPRECATED_V2=y CONFIG_NO_HZ_IDLE=n
CONFIG_IKCONFIG=y CONFIG_NO_HZ_FULL=n
CONFIG_IKCONFIG_PROC=y CONFIG_RCU_TRACE=y
CONFIG_DEBUG_LOCK_ALLOC=y
CONFIG_DEBUG_OBJECTS_RCU_HEAD=n
CONFIG_PREEMPT_COUNT=y
CONFIG_PRINTK_TIME=y CONFIG_PRINTK_TIME=y
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.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment