From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
To: Peter Zijlstra <peterz@infradead.org>
Cc: Waiman Long <waiman.long@hp.com>,
Romanov Arya <romanov.arya@gmail.com>,
Pranith Kumar <bobby.prani@gmail.com>,
Josh Triplett <josh@joshtriplett.org>,
LKML <linux-kernel@vger.kernel.org>,
torvalds@linux-foundation.org
Subject: Re: [RFC PATCH 1/1] kernel/rcu/tree.c: simplify force_quiescent_state()
Date: Mon, 23 Jun 2014 10:33:08 -0700 [thread overview]
Message-ID: <20140623173308.GA3550@linux.vnet.ibm.com> (raw)
In-Reply-To: <20140623155750.GD4603@linux.vnet.ibm.com>
On Mon, Jun 23, 2014 at 08:57:50AM -0700, Paul E. McKenney wrote:
> On Mon, Jun 23, 2014 at 12:28:50PM +0200, Peter Zijlstra wrote:
> > On Tue, Jun 17, 2014 at 10:37:17AM -0700, Paul E. McKenney wrote:
> > > Oh, and to answer the implicit question... A properly configured 4096-CPU
> > > system will have two funnel levels, with 64 nodes at the leaf level
> > > and a single node at the root level. If the system is not properly
> > > configured, it will have three funnel levels. The maximum number of
> > > funnel levels is four, which would handle more than four million CPUs
> > > (sixteen million if properly configured), so we should be good. ;-)
> > >
> > > The larger numbers of levels are intended strictly for testing. I set
> > > CONFIG_RCU_FANOUT_LEAF=2 and CONFIG_RCU_FANOUT=2 on a 16-CPU system just
> > > to make sure that I am testing something uglier than what will be running
> > > in production. A large system should have both of these set to 64,
> > > though this requires also booting with skew_tick=1 as well.
> >
> > Right, and I think we talked about this before; the first thing one
> > should do is align the RCU fanout masks with the actual machine
> > topology. Because currently they can be all over the place.
>
> And we also talked before about how it would make a lot more sense to
> align the CPU numbering with the actual machine topology, as that would
> fix the problem in one place. But either way, in the particular case
> of the RCU fanout, does anyone have any real data showing that this is
> a real problem? Given that the rcu_node accesses are quite a ways off
> of any fastpath, I remain skeptical.
And one way to test for this is to set CONFIG_RCU_FANOUT to the number of
cores in a socket (or to the number of hardware threads per socket for
systems that number their hardware threads consecutively), then specify
CONFIG_RCU_FANOUT_EXACT=y. This will align the rcu_node structures with
the sockets. If the number of cores/threads per socket is too large,
you can of course use a smaller number that exactly divides the number
of cores/threads per socket.
If this does turn out to improve performance, I would be happy to create
a boot parameter for CONFIG_RCU_FANOUT, perhaps also some mechanism to
allow the architecture to tell RCU what the fanout should be.
Thanx, Paul
next prev parent reply other threads:[~2014-06-23 17:33 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-06-17 2:55 [RFC PATCH 1/1] kernel/rcu/tree.c: simplify force_quiescent_state() Pranith Kumar
2014-06-17 14:54 ` Paul E. McKenney
2014-06-17 16:01 ` Romanov Arya
2014-06-17 16:56 ` Waiman Long
2014-06-17 17:11 ` Paul E. McKenney
2014-06-17 17:37 ` Paul E. McKenney
2014-06-17 20:06 ` Waiman Long
2014-06-23 10:28 ` Peter Zijlstra
2014-06-23 15:57 ` Paul E. McKenney
2014-06-23 17:33 ` Paul E. McKenney [this message]
2014-06-23 18:57 ` Peter Zijlstra
2014-06-23 19:05 ` Paul E. McKenney
2014-06-17 17:10 ` Paul E. McKenney
2014-06-17 18:22 ` Pranith Kumar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20140623173308.GA3550@linux.vnet.ibm.com \
--to=paulmck@linux.vnet.ibm.com \
--cc=bobby.prani@gmail.com \
--cc=josh@joshtriplett.org \
--cc=linux-kernel@vger.kernel.org \
--cc=peterz@infradead.org \
--cc=romanov.arya@gmail.com \
--cc=torvalds@linux-foundation.org \
--cc=waiman.long@hp.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.