mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-24 02:40:52 +07:00
rcu: Reduce leaf fanout for strict RCU grace periods
Because strict RCU grace periods will complete more quickly, they will experience greater lock contention on each leaf rcu_node structure's ->lock. This commit therefore reduces the leaf fanout in order to reduce this lock contention. Note that this also has the effect of reducing the number of CPUs supported to 16 in the case of CONFIG_RCU_FANOUT_LEAF=2 or 81 in the case of CONFIG_RCU_FANOUT_LEAF=3. However, greater numbers of CPUs are probably a bad idea when using CONFIG_RCU_STRICT_GRACE_PERIOD=y. Those wishing to live dangerously are free to edit their kernel/rcu/Kconfig files accordingly. Reported-by Jann Horn <jannh@google.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
This commit is contained in:
parent
8cbd0e38a9
commit
dc1269186b
@ -135,10 +135,12 @@ config RCU_FANOUT
|
||||
|
||||
config RCU_FANOUT_LEAF
|
||||
int "Tree-based hierarchical RCU leaf-level fanout value"
|
||||
range 2 64 if 64BIT
|
||||
range 2 32 if !64BIT
|
||||
range 2 64 if 64BIT && !RCU_STRICT_GRACE_PERIOD
|
||||
range 2 32 if !64BIT && !RCU_STRICT_GRACE_PERIOD
|
||||
range 2 3 if RCU_STRICT_GRACE_PERIOD
|
||||
depends on TREE_RCU && RCU_EXPERT
|
||||
default 16
|
||||
default 16 if !RCU_STRICT_GRACE_PERIOD
|
||||
default 2 if RCU_STRICT_GRACE_PERIOD
|
||||
help
|
||||
This option controls the leaf-level fanout of hierarchical
|
||||
implementations of RCU, and allows trading off cache misses
|
||||
|
Loading…
Reference in New Issue
Block a user