diff options
Diffstat (limited to 'tools/testing/selftests/rcutorture/doc/TREE_RCU-kconfig.txt')
| -rw-r--r-- | tools/testing/selftests/rcutorture/doc/TREE_RCU-kconfig.txt | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/tools/testing/selftests/rcutorture/doc/TREE_RCU-kconfig.txt b/tools/testing/selftests/rcutorture/doc/TREE_RCU-kconfig.txt new file mode 100644 index 000000000000..adbb76cffb49 --- /dev/null +++ b/tools/testing/selftests/rcutorture/doc/TREE_RCU-kconfig.txt | |||
| @@ -0,0 +1,95 @@ | |||
| 1 | This document gives a brief rationale for the TREE_RCU-related test | ||
| 2 | cases, a group that includes TREE_PREEMPT_RCU. | ||
| 3 | |||
| 4 | |||
| 5 | Kconfig Parameters: | ||
| 6 | |||
| 7 | CONFIG_DEBUG_LOCK_ALLOC -- Do three, covering CONFIG_PROVE_LOCKING & not. | ||
| 8 | CONFIG_DEBUG_OBJECTS_RCU_HEAD -- Do one. | ||
| 9 | CONFIG_HOTPLUG_CPU -- Do half. (Every second.) | ||
| 10 | CONFIG_HZ_PERIODIC -- Do one. | ||
| 11 | CONFIG_NO_HZ_IDLE -- Do those not otherwise specified. (Groups of two.) | ||
| 12 | CONFIG_NO_HZ_FULL -- Do two, one with CONFIG_NO_HZ_FULL_SYSIDLE. | ||
| 13 | CONFIG_NO_HZ_FULL_SYSIDLE -- Do one. | ||
| 14 | CONFIG_PREEMPT -- Do half. (First three and #8.) | ||
| 15 | CONFIG_PROVE_LOCKING -- Do all but two, covering CONFIG_PROVE_RCU and not. | ||
| 16 | CONFIG_PROVE_RCU -- Do all but one under CONFIG_PROVE_LOCKING. | ||
| 17 | CONFIG_PROVE_RCU_DELAY -- Do one. | ||
| 18 | CONFIG_RCU_BOOST -- one of TREE_PREEMPT_RCU. | ||
| 19 | CONFIG_RCU_BOOST_PRIO -- set to 2 for _BOOST testing. | ||
| 20 | CONFIG_RCU_CPU_STALL_INFO -- do one with and without _VERBOSE. | ||
| 21 | CONFIG_RCU_CPU_STALL_VERBOSE -- do one with and without _INFO. | ||
| 22 | CONFIG_RCU_FANOUT -- Cover hierarchy as currently, but overlap with others. | ||
| 23 | CONFIG_RCU_FANOUT_EXACT -- Do one. | ||
| 24 | CONFIG_RCU_FANOUT_LEAF -- Do one non-default. | ||
| 25 | CONFIG_RCU_FAST_NO_HZ -- Do one, but not with CONFIG_RCU_NOCB_CPU_ALL. | ||
| 26 | CONFIG_RCU_NOCB_CPU -- Do three, see below. | ||
| 27 | CONFIG_RCU_NOCB_CPU_ALL -- Do one. | ||
| 28 | CONFIG_RCU_NOCB_CPU_NONE -- Do one. | ||
| 29 | CONFIG_RCU_NOCB_CPU_ZERO -- Do one. | ||
| 30 | CONFIG_RCU_TRACE -- Do half. | ||
| 31 | CONFIG_SMP -- Need one !SMP for TREE_PREEMPT_RCU. | ||
| 32 | RCU-bh: Do one with PREEMPT and one with !PREEMPT. | ||
| 33 | RCU-sched: Do one with PREEMPT but not BOOST. | ||
| 34 | |||
| 35 | |||
| 36 | Hierarchy: | ||
| 37 | |||
| 38 | TREE01. CONFIG_NR_CPUS=8, CONFIG_RCU_FANOUT=8, CONFIG_RCU_FANOUT_EXACT=n. | ||
| 39 | TREE02. CONFIG_NR_CPUS=8, CONFIG_RCU_FANOUT=3, CONFIG_RCU_FANOUT_EXACT=n, | ||
| 40 | CONFIG_RCU_FANOUT_LEAF=3. | ||
| 41 | TREE03. CONFIG_NR_CPUS=8, CONFIG_RCU_FANOUT=4, CONFIG_RCU_FANOUT_EXACT=n, | ||
| 42 | CONFIG_RCU_FANOUT_LEAF=4. | ||
| 43 | TREE04. CONFIG_NR_CPUS=8, CONFIG_RCU_FANOUT=2, CONFIG_RCU_FANOUT_EXACT=n, | ||
| 44 | CONFIG_RCU_FANOUT_LEAF=2. | ||
| 45 | TREE05. CONFIG_NR_CPUS=8, CONFIG_RCU_FANOUT=6, CONFIG_RCU_FANOUT_EXACT=n | ||
| 46 | CONFIG_RCU_FANOUT_LEAF=6. | ||
| 47 | TREE06. CONFIG_NR_CPUS=8, CONFIG_RCU_FANOUT=6, CONFIG_RCU_FANOUT_EXACT=y | ||
| 48 | CONFIG_RCU_FANOUT_LEAF=6. | ||
| 49 | TREE07. CONFIG_NR_CPUS=16, CONFIG_RCU_FANOUT=2, CONFIG_RCU_FANOUT_EXACT=n, | ||
| 50 | CONFIG_RCU_FANOUT_LEAF=2. | ||
| 51 | TREE08. CONFIG_NR_CPUS=16, CONFIG_RCU_FANOUT=3, CONFIG_RCU_FANOUT_EXACT=y, | ||
| 52 | CONFIG_RCU_FANOUT_LEAF=2. | ||
| 53 | TREE09. CONFIG_NR_CPUS=1. | ||
| 54 | |||
| 55 | |||
| 56 | Kconfig Parameters Ignored: | ||
| 57 | |||
| 58 | CONFIG_64BIT | ||
| 59 | |||
| 60 | Used only to check CONFIG_RCU_FANOUT value, inspection suffices. | ||
| 61 | |||
| 62 | CONFIG_NO_HZ_FULL_SYSIDLE_SMALL | ||
| 63 | |||
| 64 | Defer until Frederic uses this. | ||
| 65 | |||
| 66 | CONFIG_PREEMPT_COUNT | ||
| 67 | CONFIG_PREEMPT_RCU | ||
| 68 | |||
| 69 | Redundant with CONFIG_PREEMPT, ignore. | ||
| 70 | |||
| 71 | CONFIG_RCU_BOOST_DELAY | ||
| 72 | |||
| 73 | Inspection suffices, ignore. | ||
| 74 | |||
| 75 | CONFIG_RCU_CPU_STALL_TIMEOUT | ||
| 76 | |||
| 77 | Inspection suffices, ignore. | ||
| 78 | |||
| 79 | CONFIG_RCU_STALL_COMMON | ||
| 80 | |||
| 81 | Implied by TREE_RCU and TREE_PREEMPT_RCU. | ||
| 82 | |||
| 83 | CONFIG_RCU_TORTURE_TEST | ||
| 84 | CONFIG_RCU_TORTURE_TEST_RUNNABLE | ||
| 85 | |||
| 86 | Always used in KVM testing. | ||
| 87 | |||
| 88 | CONFIG_RCU_USER_QS | ||
| 89 | |||
| 90 | Redundant with CONFIG_NO_HZ_FULL. | ||
| 91 | |||
| 92 | CONFIG_TREE_PREEMPT_RCU | ||
| 93 | CONFIG_TREE_RCU | ||
| 94 | |||
| 95 | These are controlled by CONFIG_PREEMPT. | ||
