xref: /openbmc/linux/tools/testing/selftests/rcutorture/doc/TREE_RCU-kconfig.txt (revision 1ac731c529cd4d6adbce134754b51ff7d822b145)
148a21d5cSPaul BolleThis document gives a brief rationale for the TREE_RCU-related test
228f6569aSPranith Kumarcases, a group that includes PREEMPT_RCU.
348a21d5cSPaul Bolle
448a21d5cSPaul Bolle
548a21d5cSPaul BolleKconfig Parameters:
648a21d5cSPaul Bolle
748a21d5cSPaul BolleCONFIG_DEBUG_LOCK_ALLOC -- Do three, covering CONFIG_PROVE_LOCKING & not.
848a21d5cSPaul BolleCONFIG_DEBUG_OBJECTS_RCU_HEAD -- Do one.
948a21d5cSPaul BolleCONFIG_HZ_PERIODIC -- Do one.
1048a21d5cSPaul BolleCONFIG_NO_HZ_IDLE -- Do those not otherwise specified. (Groups of two.)
11fe5ac724SPaul E. McKenneyCONFIG_NO_HZ_FULL -- Do two, one with partial CPU enablement.
1248a21d5cSPaul BolleCONFIG_PREEMPT -- Do half.  (First three and #8.)
13ccd60ad3SPaul E. McKenneyCONFIG_PROVE_LOCKING -- Do several, covering CONFIG_DEBUG_LOCK_ALLOC=y and not.
14ccd60ad3SPaul E. McKenneyCONFIG_PROVE_RCU -- Hardwired to CONFIG_PROVE_LOCKING.
1528f6569aSPranith KumarCONFIG_RCU_BOOST -- one of PREEMPT_RCU.
16ccd60ad3SPaul E. McKenneyCONFIG_RCU_FANOUT -- Cover hierarchy, but overlap with others.
1748a21d5cSPaul BolleCONFIG_RCU_FANOUT_LEAF -- Do one non-default.
1844c65ff2SPaul E. McKenneyCONFIG_RCU_NOCB_CPU -- Do three, one with no rcu_nocbs CPUs, one with
1944c65ff2SPaul E. McKenney	rcu_nocbs=0, and one with all rcu_nocbs CPUs.
2048a21d5cSPaul BolleCONFIG_RCU_TRACE -- Do half.
2128f6569aSPranith KumarCONFIG_SMP -- Need one !SMP for PREEMPT_RCU.
22b1c14a39SPaul E. McKenneyCONFIG_RCU_EXPERT=n -- Do a few, but these have to be vanilla configurations.
23b1c14a39SPaul E. McKenneyCONFIG_RCU_EQS_DEBUG -- Do at least one for CONFIG_NO_HZ_FULL and not.
24b1c14a39SPaul E. McKenney
2548a21d5cSPaul BolleRCU-bh: Do one with PREEMPT and one with !PREEMPT.
2648a21d5cSPaul BolleRCU-sched: Do one with PREEMPT but not BOOST.
2748a21d5cSPaul Bolle
2848a21d5cSPaul Bolle
29ccd60ad3SPaul E. McKenneyBoot parameters:
3048a21d5cSPaul Bolle
31ccd60ad3SPaul E. McKenneynohz_full - do at least one.
32ccd60ad3SPaul E. McKenneymaxcpu -- do at least one.
33ccd60ad3SPaul E. McKenneyrcupdate.rcu_self_test_bh -- Do at least one each, offloaded and not.
34ccd60ad3SPaul E. McKenneyrcupdate.rcu_self_test_sched -- Do at least one each, offloaded and not.
35ccd60ad3SPaul E. McKenneyrcupdate.rcu_self_test -- Do at least one each, offloaded and not.
36ccd60ad3SPaul E. McKenneyrcutree.rcu_fanout_exact -- Do at least one.
3748a21d5cSPaul Bolle
3848a21d5cSPaul Bolle
3948a21d5cSPaul BolleKconfig Parameters Ignored:
4048a21d5cSPaul Bolle
4148a21d5cSPaul BolleCONFIG_64BIT
4248a21d5cSPaul Bolle
4348a21d5cSPaul Bolle	Used only to check CONFIG_RCU_FANOUT value, inspection suffices.
4448a21d5cSPaul Bolle
4548a21d5cSPaul BolleCONFIG_PREEMPT_COUNT
4648a21d5cSPaul BolleCONFIG_PREEMPT_RCU
4748a21d5cSPaul Bolle
4848a21d5cSPaul Bolle	Redundant with CONFIG_PREEMPT, ignore.
4948a21d5cSPaul Bolle
5048a21d5cSPaul BolleCONFIG_RCU_BOOST_DELAY
5148a21d5cSPaul Bolle
5248a21d5cSPaul Bolle	Inspection suffices, ignore.
5348a21d5cSPaul Bolle
5448a21d5cSPaul BolleCONFIG_RCU_CPU_STALL_TIMEOUT
5548a21d5cSPaul Bolle
5648a21d5cSPaul Bolle	Inspection suffices, ignore.
5748a21d5cSPaul Bolle
5848a21d5cSPaul BolleCONFIG_RCU_STALL_COMMON
5948a21d5cSPaul Bolle
6028f6569aSPranith Kumar	Implied by TREE_RCU and PREEMPT_RCU.
6148a21d5cSPaul Bolle
6248a21d5cSPaul BolleCONFIG_RCU_TORTURE_TEST
6348a21d5cSPaul BolleCONFIG_RCU_TORTURE_TEST_RUNNABLE
6448a21d5cSPaul Bolle
6548a21d5cSPaul Bolle	Always used in KVM testing.
6648a21d5cSPaul Bolle
6728f6569aSPranith KumarCONFIG_PREEMPT_RCU
6848a21d5cSPaul BolleCONFIG_TREE_RCU
69b1c14a39SPaul E. McKenneyCONFIG_TINY_RCU
70*7e42776dSPaul E. McKenneyCONFIG_TASKS_RCU
7148a21d5cSPaul Bolle
72b1c14a39SPaul E. McKenney	These are controlled by CONFIG_PREEMPT and/or CONFIG_SMP.
73b1c14a39SPaul E. McKenney
74b1c14a39SPaul E. McKenney
75b1c14a39SPaul E. McKenneyboot parameters ignored: TBD
76