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.

Reply via email to