aboutsummaryrefslogtreecommitdiffstats
path: root/tools/testing/selftests/rcutorture
diff options
context:
space:
mode:
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>2013-09-30 16:21:08 -0400
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>2013-12-03 13:11:13 -0500
commit0f66f92d11f80d0972b180f0151e629fc0c12cb1 (patch)
tree9c0e97ee2b7edc70ed8f70e6dba62f5d0063dc3f /tools/testing/selftests/rcutorture
parent27ac1ddf214741d152909f89981ee2bdf16318c9 (diff)
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>
Diffstat (limited to 'tools/testing/selftests/rcutorture')
-rw-r--r--tools/testing/selftests/rcutorture/configs/CFLIST4
-rw-r--r--tools/testing/selftests/rcutorture/configs/NT1-nh23
-rw-r--r--tools/testing/selftests/rcutorture/configs/NT3-NH20
-rw-r--r--tools/testing/selftests/rcutorture/configs/PT1-nh23
-rw-r--r--tools/testing/selftests/rcutorture/configs/PT2-NH22
-rw-r--r--tools/testing/selftests/rcutorture/configs/TINY0113
-rw-r--r--tools/testing/selftests/rcutorture/configs/TINY0213
-rw-r--r--tools/testing/selftests/rcutorture/doc/TINY_RCU.txt40
8 files changed, 68 insertions, 90 deletions
diff --git a/tools/testing/selftests/rcutorture/configs/CFLIST b/tools/testing/selftests/rcutorture/configs/CFLIST
index 884491b25c19..cd3d29cb0a47 100644
--- a/tools/testing/selftests/rcutorture/configs/CFLIST
+++ b/tools/testing/selftests/rcutorture/configs/CFLIST
@@ -9,5 +9,5 @@ TREE08
9TREE09 9TREE09
10SRCU-N 10SRCU-N
11SRCU-P 11SRCU-P
12NT1-nh 12TINY01
13NT3-NH 13TINY02
diff --git a/tools/testing/selftests/rcutorture/configs/NT1-nh b/tools/testing/selftests/rcutorture/configs/NT1-nh
deleted file mode 100644
index 023f312a931c..000000000000
--- a/tools/testing/selftests/rcutorture/configs/NT1-nh
+++ /dev/null
@@ -1,23 +0,0 @@
1#CHECK#CONFIG_TINY_RCU=y
2CONFIG_RCU_TRACE=y
3CONFIG_RCU_TORTURE_TEST=m
4CONFIG_MODULE_UNLOAD=y
5CONFIG_SUSPEND=n
6CONFIG_HIBERNATION=n
7#
8CONFIG_SMP=n
9#
10CONFIG_HOTPLUG_CPU=n
11#
12CONFIG_NO_HZ=n
13#
14CONFIG_PREEMPT_NONE=y
15CONFIG_PREEMPT_VOLUNTARY=n
16CONFIG_PREEMPT=n
17CONFIG_PROVE_LOCKING=y
18CONFIG_PROVE_RCU=y
19CONFIG_SYSFS_DEPRECATED_V2=y
20CONFIG_IKCONFIG=y
21CONFIG_IKCONFIG_PROC=y
22CONFIG_PRINTK_TIME=y
23
diff --git a/tools/testing/selftests/rcutorture/configs/NT3-NH b/tools/testing/selftests/rcutorture/configs/NT3-NH
deleted file mode 100644
index 6fd0235dae73..000000000000
--- a/tools/testing/selftests/rcutorture/configs/NT3-NH
+++ /dev/null
@@ -1,20 +0,0 @@
1#CHECK#CONFIG_TINY_RCU=y
2CONFIG_RCU_TORTURE_TEST=m
3CONFIG_MODULE_UNLOAD=y
4CONFIG_SUSPEND=n
5CONFIG_HIBERNATION=n
6#
7CONFIG_SMP=n
8#
9CONFIG_HOTPLUG_CPU=n
10#
11CONFIG_NO_HZ=y
12#
13CONFIG_PREEMPT_NONE=y
14CONFIG_PREEMPT_VOLUNTARY=n
15CONFIG_PREEMPT=n
16CONFIG_SYSFS_DEPRECATED_V2=y
17CONFIG_IKCONFIG=y
18CONFIG_IKCONFIG_PROC=y
19CONFIG_PRINTK_TIME=y
20
diff --git a/tools/testing/selftests/rcutorture/configs/PT1-nh b/tools/testing/selftests/rcutorture/configs/PT1-nh
deleted file mode 100644
index e3361c3894a1..000000000000
--- a/tools/testing/selftests/rcutorture/configs/PT1-nh
+++ /dev/null
@@ -1,23 +0,0 @@
1CONFIG_TINY_PREEMPT_RCU=y
2CONFIG_RCU_BOOST=y
3CONFIG_RCU_BOOST_PRIO=2
4CONFIG_RCU_TRACE=y
5CONFIG_RCU_TORTURE_TEST=m
6CONFIG_MODULE_UNLOAD=y
7CONFIG_SUSPEND=n
8CONFIG_HIBERNATION=n
9#
10CONFIG_SMP=n
11#
12CONFIG_HOTPLUG_CPU=n
13#
14CONFIG_NO_HZ=n
15#
16CONFIG_PREEMPT_NONE=n
17CONFIG_PREEMPT_VOLUNTARY=n
18CONFIG_PREEMPT=y
19CONFIG_SYSFS_DEPRECATED_V2=y
20CONFIG_IKCONFIG=y
21CONFIG_IKCONFIG_PROC=y
22CONFIG_PRINTK_TIME=y
23
diff --git a/tools/testing/selftests/rcutorture/configs/PT2-NH b/tools/testing/selftests/rcutorture/configs/PT2-NH
deleted file mode 100644
index 64abfc3b4d94..000000000000
--- a/tools/testing/selftests/rcutorture/configs/PT2-NH
+++ /dev/null
@@ -1,22 +0,0 @@
1CONFIG_TINY_PREEMPT_RCU=y
2CONFIG_RCU_TORTURE_TEST=m
3CONFIG_MODULE_UNLOAD=y
4CONFIG_SUSPEND=n
5CONFIG_HIBERNATION=n
6#
7CONFIG_SMP=n
8#
9CONFIG_HOTPLUG_CPU=n
10#
11CONFIG_NO_HZ=y
12#
13CONFIG_PREEMPT_NONE=n
14CONFIG_PREEMPT_VOLUNTARY=n
15CONFIG_PREEMPT=y
16CONFIG_PROVE_LOCKING=y
17CONFIG_PROVE_RCU=y
18CONFIG_SYSFS_DEPRECATED_V2=y
19CONFIG_IKCONFIG=y
20CONFIG_IKCONFIG_PROC=y
21CONFIG_PRINTK_TIME=y
22
diff --git a/tools/testing/selftests/rcutorture/configs/TINY01 b/tools/testing/selftests/rcutorture/configs/TINY01
new file mode 100644
index 000000000000..0c2823f21712
--- /dev/null
+++ b/tools/testing/selftests/rcutorture/configs/TINY01
@@ -0,0 +1,13 @@
1CONFIG_SMP=n
2CONFIG_PREEMPT_NONE=y
3CONFIG_PREEMPT_VOLUNTARY=n
4CONFIG_PREEMPT=n
5#CHECK#CONFIG_TINY_RCU=y
6CONFIG_HZ_PERIODIC=n
7CONFIG_NO_HZ_IDLE=y
8CONFIG_NO_HZ_FULL=n
9CONFIG_RCU_TRACE=n
10CONFIG_DEBUG_LOCK_ALLOC=n
11CONFIG_DEBUG_OBJECTS_RCU_HEAD=n
12CONFIG_PREEMPT_COUNT=n
13CONFIG_PRINTK_TIME=y
diff --git a/tools/testing/selftests/rcutorture/configs/TINY02 b/tools/testing/selftests/rcutorture/configs/TINY02
new file mode 100644
index 000000000000..e5072d7528b6
--- /dev/null
+++ b/tools/testing/selftests/rcutorture/configs/TINY02
@@ -0,0 +1,13 @@
1CONFIG_SMP=n
2CONFIG_PREEMPT_NONE=y
3CONFIG_PREEMPT_VOLUNTARY=n
4CONFIG_PREEMPT=n
5#CHECK#CONFIG_TINY_RCU=y
6CONFIG_HZ_PERIODIC=y
7CONFIG_NO_HZ_IDLE=n
8CONFIG_NO_HZ_FULL=n
9CONFIG_RCU_TRACE=y
10CONFIG_DEBUG_LOCK_ALLOC=y
11CONFIG_DEBUG_OBJECTS_RCU_HEAD=n
12CONFIG_PREEMPT_COUNT=y
13CONFIG_PRINTK_TIME=y
diff --git a/tools/testing/selftests/rcutorture/doc/TINY_RCU.txt b/tools/testing/selftests/rcutorture/doc/TINY_RCU.txt
new file mode 100644
index 000000000000..28db67b54e55
--- /dev/null
+++ b/tools/testing/selftests/rcutorture/doc/TINY_RCU.txt
@@ -0,0 +1,40 @@
1This document gives a brief rationale for the TINY_RCU test cases.
2
3
4Kconfig Parameters:
5
6CONFIG_DEBUG_LOCK_ALLOC -- Do all three and none of the three.
7CONFIG_PREEMPT_COUNT
8CONFIG_RCU_TRACE
9
10The theory here is that randconfig testing will hit the other six possible
11combinations of these parameters.
12
13
14Kconfig Parameters Ignored:
15
16CONFIG_DEBUG_OBJECTS_RCU_HEAD
17CONFIG_PROVE_RCU
18
19 In common code tested by TREE_RCU test cases.
20
21CONFIG_NO_HZ_FULL_SYSIDLE
22CONFIG_RCU_NOCB_CPU
23CONFIG_RCU_USER_QS
24
25 Meaningless for TINY_RCU.
26
27CONFIG_RCU_STALL_COMMON
28CONFIG_RCU_TORTURE_TEST
29
30 Redundant with CONFIG_RCU_TRACE.
31
32CONFIG_HOTPLUG_CPU
33CONFIG_PREEMPT
34CONFIG_PREEMPT_RCU
35CONFIG_SMP
36CONFIG_TINY_RCU
37CONFIG_TREE_PREEMPT_RCU
38CONFIG_TREE_RCU
39
40 All forced by CONFIG_TINY_RCU.