OSDN Git Service

rcu: Make RCU_FANOUT_LEAF help text more explicit about skew_tick
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Fri, 3 Feb 2017 17:27:00 +0000 (09:27 -0800)
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Wed, 19 Apr 2017 16:29:17 +0000 (09:29 -0700)
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>
init/Kconfig

index a92f27d..c549618 100644 (file)
@@ -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.