summary refs log tree commit diff
path: root/init/Kconfig
diff options
context:
space:
mode:
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>2017-02-03 09:27:00 -0800
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>2017-04-19 09:29:17 -0700
commit024828800926dcb385b094e2438151647c3f8251 (patch)
treee6bbde0be435301f880f6b033ab52a3bb354ab99 /init/Kconfig
parent468d01bec544286bb5283f012b95b5b84636565b (diff)
downloadlinux-024828800926dcb385b094e2438151647c3f8251.tar.gz
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/Kconfig')
-rw-r--r--init/Kconfig10
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.