On Thu, Apr 13, 2017 at 09:03:33AM -0700, Paul E. McKenney wrote: > On Thu, Apr 13, 2017 at 11:15:35AM +0200, Peter Zijlstra wrote: > > On Wed, Apr 12, 2017 at 09:55:40AM -0700, Paul E. McKenney wrote: > > > 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 <paul...@linux.vnet.ibm.com> > > > --- > > > init/Kconfig | 10 ++++++++-- > > > 1 file changed, 8 insertions(+), 2 deletions(-) > > > > > > diff --git a/init/Kconfig b/init/Kconfig > > > index a92f27da4a27..946e561e67b7 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. > > > > Why mention a way out of a problem you shouldn't have to begin with? > > > > Just state its bad and result in lock contention and leave it at that. > > To avoid people tuning huge machines having to wait for me to give > them an answer as to why they are suffering lock contention after > cranking up the value of RCU_FANOUT_LEAF. > > Or am I missing your point?
Your answer should be: don't do that then. Not provide them a shady work around. tick skew isn't pretty and has other problems (there's a reason its not on by default). You're then doing two things you shouldn't.