diff options
author | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2013-09-30 16:21:08 -0400 |
---|---|---|
committer | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2013-12-03 13:11:13 -0500 |
commit | 0f66f92d11f80d0972b180f0151e629fc0c12cb1 (patch) | |
tree | 9c0e97ee2b7edc70ed8f70e6dba62f5d0063dc3f /tools/testing/selftests/rcutorture | |
parent | 27ac1ddf214741d152909f89981ee2bdf16318c9 (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/CFLIST | 4 | ||||
-rw-r--r-- | tools/testing/selftests/rcutorture/configs/NT1-nh | 23 | ||||
-rw-r--r-- | tools/testing/selftests/rcutorture/configs/NT3-NH | 20 | ||||
-rw-r--r-- | tools/testing/selftests/rcutorture/configs/PT1-nh | 23 | ||||
-rw-r--r-- | tools/testing/selftests/rcutorture/configs/PT2-NH | 22 | ||||
-rw-r--r-- | tools/testing/selftests/rcutorture/configs/TINY01 | 13 | ||||
-rw-r--r-- | tools/testing/selftests/rcutorture/configs/TINY02 | 13 | ||||
-rw-r--r-- | tools/testing/selftests/rcutorture/doc/TINY_RCU.txt | 40 |
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 | |||
9 | TREE09 | 9 | TREE09 |
10 | SRCU-N | 10 | SRCU-N |
11 | SRCU-P | 11 | SRCU-P |
12 | NT1-nh | 12 | TINY01 |
13 | NT3-NH | 13 | TINY02 |
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 | ||
2 | CONFIG_RCU_TRACE=y | ||
3 | CONFIG_RCU_TORTURE_TEST=m | ||
4 | CONFIG_MODULE_UNLOAD=y | ||
5 | CONFIG_SUSPEND=n | ||
6 | CONFIG_HIBERNATION=n | ||
7 | # | ||
8 | CONFIG_SMP=n | ||
9 | # | ||
10 | CONFIG_HOTPLUG_CPU=n | ||
11 | # | ||
12 | CONFIG_NO_HZ=n | ||
13 | # | ||
14 | CONFIG_PREEMPT_NONE=y | ||
15 | CONFIG_PREEMPT_VOLUNTARY=n | ||
16 | CONFIG_PREEMPT=n | ||
17 | CONFIG_PROVE_LOCKING=y | ||
18 | CONFIG_PROVE_RCU=y | ||
19 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
20 | CONFIG_IKCONFIG=y | ||
21 | CONFIG_IKCONFIG_PROC=y | ||
22 | CONFIG_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 | ||
2 | CONFIG_RCU_TORTURE_TEST=m | ||
3 | CONFIG_MODULE_UNLOAD=y | ||
4 | CONFIG_SUSPEND=n | ||
5 | CONFIG_HIBERNATION=n | ||
6 | # | ||
7 | CONFIG_SMP=n | ||
8 | # | ||
9 | CONFIG_HOTPLUG_CPU=n | ||
10 | # | ||
11 | CONFIG_NO_HZ=y | ||
12 | # | ||
13 | CONFIG_PREEMPT_NONE=y | ||
14 | CONFIG_PREEMPT_VOLUNTARY=n | ||
15 | CONFIG_PREEMPT=n | ||
16 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
17 | CONFIG_IKCONFIG=y | ||
18 | CONFIG_IKCONFIG_PROC=y | ||
19 | CONFIG_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 @@ | |||
1 | CONFIG_TINY_PREEMPT_RCU=y | ||
2 | CONFIG_RCU_BOOST=y | ||
3 | CONFIG_RCU_BOOST_PRIO=2 | ||
4 | CONFIG_RCU_TRACE=y | ||
5 | CONFIG_RCU_TORTURE_TEST=m | ||
6 | CONFIG_MODULE_UNLOAD=y | ||
7 | CONFIG_SUSPEND=n | ||
8 | CONFIG_HIBERNATION=n | ||
9 | # | ||
10 | CONFIG_SMP=n | ||
11 | # | ||
12 | CONFIG_HOTPLUG_CPU=n | ||
13 | # | ||
14 | CONFIG_NO_HZ=n | ||
15 | # | ||
16 | CONFIG_PREEMPT_NONE=n | ||
17 | CONFIG_PREEMPT_VOLUNTARY=n | ||
18 | CONFIG_PREEMPT=y | ||
19 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
20 | CONFIG_IKCONFIG=y | ||
21 | CONFIG_IKCONFIG_PROC=y | ||
22 | CONFIG_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 @@ | |||
1 | CONFIG_TINY_PREEMPT_RCU=y | ||
2 | CONFIG_RCU_TORTURE_TEST=m | ||
3 | CONFIG_MODULE_UNLOAD=y | ||
4 | CONFIG_SUSPEND=n | ||
5 | CONFIG_HIBERNATION=n | ||
6 | # | ||
7 | CONFIG_SMP=n | ||
8 | # | ||
9 | CONFIG_HOTPLUG_CPU=n | ||
10 | # | ||
11 | CONFIG_NO_HZ=y | ||
12 | # | ||
13 | CONFIG_PREEMPT_NONE=n | ||
14 | CONFIG_PREEMPT_VOLUNTARY=n | ||
15 | CONFIG_PREEMPT=y | ||
16 | CONFIG_PROVE_LOCKING=y | ||
17 | CONFIG_PROVE_RCU=y | ||
18 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
19 | CONFIG_IKCONFIG=y | ||
20 | CONFIG_IKCONFIG_PROC=y | ||
21 | CONFIG_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 @@ | |||
1 | CONFIG_SMP=n | ||
2 | CONFIG_PREEMPT_NONE=y | ||
3 | CONFIG_PREEMPT_VOLUNTARY=n | ||
4 | CONFIG_PREEMPT=n | ||
5 | #CHECK#CONFIG_TINY_RCU=y | ||
6 | CONFIG_HZ_PERIODIC=n | ||
7 | CONFIG_NO_HZ_IDLE=y | ||
8 | CONFIG_NO_HZ_FULL=n | ||
9 | CONFIG_RCU_TRACE=n | ||
10 | CONFIG_DEBUG_LOCK_ALLOC=n | ||
11 | CONFIG_DEBUG_OBJECTS_RCU_HEAD=n | ||
12 | CONFIG_PREEMPT_COUNT=n | ||
13 | CONFIG_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 @@ | |||
1 | CONFIG_SMP=n | ||
2 | CONFIG_PREEMPT_NONE=y | ||
3 | CONFIG_PREEMPT_VOLUNTARY=n | ||
4 | CONFIG_PREEMPT=n | ||
5 | #CHECK#CONFIG_TINY_RCU=y | ||
6 | CONFIG_HZ_PERIODIC=y | ||
7 | CONFIG_NO_HZ_IDLE=n | ||
8 | CONFIG_NO_HZ_FULL=n | ||
9 | CONFIG_RCU_TRACE=y | ||
10 | CONFIG_DEBUG_LOCK_ALLOC=y | ||
11 | CONFIG_DEBUG_OBJECTS_RCU_HEAD=n | ||
12 | CONFIG_PREEMPT_COUNT=y | ||
13 | CONFIG_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 @@ | |||
1 | This document gives a brief rationale for the TINY_RCU test cases. | ||
2 | |||
3 | |||
4 | Kconfig Parameters: | ||
5 | |||
6 | CONFIG_DEBUG_LOCK_ALLOC -- Do all three and none of the three. | ||
7 | CONFIG_PREEMPT_COUNT | ||
8 | CONFIG_RCU_TRACE | ||
9 | |||
10 | The theory here is that randconfig testing will hit the other six possible | ||
11 | combinations of these parameters. | ||
12 | |||
13 | |||
14 | Kconfig Parameters Ignored: | ||
15 | |||
16 | CONFIG_DEBUG_OBJECTS_RCU_HEAD | ||
17 | CONFIG_PROVE_RCU | ||
18 | |||
19 | In common code tested by TREE_RCU test cases. | ||
20 | |||
21 | CONFIG_NO_HZ_FULL_SYSIDLE | ||
22 | CONFIG_RCU_NOCB_CPU | ||
23 | CONFIG_RCU_USER_QS | ||
24 | |||
25 | Meaningless for TINY_RCU. | ||
26 | |||
27 | CONFIG_RCU_STALL_COMMON | ||
28 | CONFIG_RCU_TORTURE_TEST | ||
29 | |||
30 | Redundant with CONFIG_RCU_TRACE. | ||
31 | |||
32 | CONFIG_HOTPLUG_CPU | ||
33 | CONFIG_PREEMPT | ||
34 | CONFIG_PREEMPT_RCU | ||
35 | CONFIG_SMP | ||
36 | CONFIG_TINY_RCU | ||
37 | CONFIG_TREE_PREEMPT_RCU | ||
38 | CONFIG_TREE_RCU | ||
39 | |||
40 | All forced by CONFIG_TINY_RCU. | ||