mirror of
https://github.com/torvalds/linux.git
synced 2026-04-26 18:42:25 -04:00
This commit updates TREE_RCU-kconfig.txt to reflect changes in RCU's Kconfig setup. This commit also updates rcutorture's Kconfig fragments to account for Kconfig parameters that are now driven directly off of other Kconfig parameters. The #CHECK# prefix tells the rcutorture scripts to take no action to try to set the Kconfig parameter, but to check that it does in fact get set. This is useful for verifying that Kconfig parameters that are supposed to be automatically set do in fact get set to the required values. Reported-by: Pranith Kumar <bobby.prani@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Reviewed-by: Josh Triplett <josh@joshtriplett.org>
84 lines
2.4 KiB
Plaintext
84 lines
2.4 KiB
Plaintext
This document gives a brief rationale for the TREE_RCU-related test
|
|
cases, a group that includes PREEMPT_RCU.
|
|
|
|
|
|
Kconfig Parameters:
|
|
|
|
CONFIG_DEBUG_LOCK_ALLOC -- Do three, covering CONFIG_PROVE_LOCKING & not.
|
|
CONFIG_DEBUG_OBJECTS_RCU_HEAD -- Do one.
|
|
CONFIG_HOTPLUG_CPU -- Do half. (Every second.)
|
|
CONFIG_HZ_PERIODIC -- Do one.
|
|
CONFIG_NO_HZ_IDLE -- Do those not otherwise specified. (Groups of two.)
|
|
CONFIG_NO_HZ_FULL -- Do two, one with CONFIG_NO_HZ_FULL_SYSIDLE.
|
|
CONFIG_NO_HZ_FULL_SYSIDLE -- Do one.
|
|
CONFIG_PREEMPT -- Do half. (First three and #8.)
|
|
CONFIG_PROVE_LOCKING -- Do several, covering CONFIG_DEBUG_LOCK_ALLOC=y and not.
|
|
CONFIG_PROVE_RCU -- Hardwired to CONFIG_PROVE_LOCKING.
|
|
CONFIG_RCU_BOOST -- one of PREEMPT_RCU.
|
|
CONFIG_RCU_KTHREAD_PRIO -- set to 2 for _BOOST testing.
|
|
CONFIG_RCU_CPU_STALL_INFO -- Now default, avoid at least twice.
|
|
CONFIG_RCU_FANOUT -- Cover hierarchy, but overlap with others.
|
|
CONFIG_RCU_FANOUT_LEAF -- Do one non-default.
|
|
CONFIG_RCU_FAST_NO_HZ -- Do one, but not with CONFIG_RCU_NOCB_CPU_ALL.
|
|
CONFIG_RCU_NOCB_CPU -- Do three, see below.
|
|
CONFIG_RCU_NOCB_CPU_ALL -- Do one.
|
|
CONFIG_RCU_NOCB_CPU_NONE -- Do one.
|
|
CONFIG_RCU_NOCB_CPU_ZERO -- Do one.
|
|
CONFIG_RCU_TRACE -- Do half.
|
|
CONFIG_SMP -- Need one !SMP for PREEMPT_RCU.
|
|
!RCU_EXPERT -- Do a few, but these have to be vanilla configurations.
|
|
RCU-bh: Do one with PREEMPT and one with !PREEMPT.
|
|
RCU-sched: Do one with PREEMPT but not BOOST.
|
|
|
|
|
|
Boot parameters:
|
|
|
|
nohz_full - do at least one.
|
|
maxcpu -- do at least one.
|
|
rcupdate.rcu_self_test_bh -- Do at least one each, offloaded and not.
|
|
rcupdate.rcu_self_test_sched -- Do at least one each, offloaded and not.
|
|
rcupdate.rcu_self_test -- Do at least one each, offloaded and not.
|
|
rcutree.rcu_fanout_exact -- Do at least one.
|
|
|
|
|
|
Kconfig Parameters Ignored:
|
|
|
|
CONFIG_64BIT
|
|
|
|
Used only to check CONFIG_RCU_FANOUT value, inspection suffices.
|
|
|
|
CONFIG_NO_HZ_FULL_SYSIDLE_SMALL
|
|
|
|
Defer until Frederic uses this.
|
|
|
|
CONFIG_PREEMPT_COUNT
|
|
CONFIG_PREEMPT_RCU
|
|
|
|
Redundant with CONFIG_PREEMPT, ignore.
|
|
|
|
CONFIG_RCU_BOOST_DELAY
|
|
|
|
Inspection suffices, ignore.
|
|
|
|
CONFIG_RCU_CPU_STALL_TIMEOUT
|
|
|
|
Inspection suffices, ignore.
|
|
|
|
CONFIG_RCU_STALL_COMMON
|
|
|
|
Implied by TREE_RCU and PREEMPT_RCU.
|
|
|
|
CONFIG_RCU_TORTURE_TEST
|
|
CONFIG_RCU_TORTURE_TEST_RUNNABLE
|
|
|
|
Always used in KVM testing.
|
|
|
|
CONFIG_RCU_USER_QS
|
|
|
|
Redundant with CONFIG_NO_HZ_FULL.
|
|
|
|
CONFIG_PREEMPT_RCU
|
|
CONFIG_TREE_RCU
|
|
|
|
These are controlled by CONFIG_PREEMPT.
|