diff options
author | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2017-02-03 09:27:00 -0800 |
---|---|---|
committer | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2017-04-19 09:29:17 -0700 |
commit | 024828800926dcb385b094e2438151647c3f8251 (patch) | |
tree | e6bbde0be435301f880f6b033ab52a3bb354ab99 /init | |
parent | 468d01bec544286bb5283f012b95b5b84636565b (diff) | |
download | lwn-024828800926dcb385b094e2438151647c3f8251.tar.gz lwn-024828800926dcb385b094e2438151647c3f8251.zip |
rcu: Make RCU_FANOUT_LEAF help text more explicit about skew_tick
If you set RCU_FANOUT_LEAF too high, you can get lock contention
on the leaf rcu_node, and you should boot with the skew_tick kernel
parameter set in order to avoid this lock contention. This commit
therefore upgrades the RCU_FANOUT_LEAF help text to explicitly state
this.
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Diffstat (limited to 'init')
-rw-r--r-- | init/Kconfig | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/init/Kconfig b/init/Kconfig index a92f27da4a27..c549618c72f0 100644 --- a/init/Kconfig +++ b/init/Kconfig @@ -612,11 +612,17 @@ config RCU_FANOUT_LEAF initialization. These systems tend to run CPU-bound, and thus are not helped by synchronized interrupts, and thus tend to skew them, which reduces lock contention enough that large - leaf-level fanouts work well. + leaf-level fanouts work well. That said, setting leaf-level + fanout to a large number will likely cause problematic + lock contention on the leaf-level rcu_node structures unless + you boot with the skew_tick kernel parameter. Select a specific number if testing RCU itself. - Select the maximum permissible value for large systems. + Select the maximum permissible value for large systems, but + please understand that you may also need to set the skew_tick + kernel boot parameter to avoid contention on the rcu_node + structure's locks. Take the default if unsure. |