Re: [PATCH] rcu: update: make RCU_EXPEDITE_BOOT default

From: Steven Rostedt
Date: Mon Nov 07 2016 - 12:20:47 EST


On Thu, 3 Nov 2016 09:59:31 -0700
"Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx> wrote:

> On Thu, Nov 03, 2016 at 05:33:27PM +0100, Sebastian Andrzej Siewior wrote:
> > On 2016-11-03 09:22:28 [-0700], Paul E. McKenney wrote:
> > > On Wed, Nov 02, 2016 at 05:30:02PM +0100, Sebastian Andrzej Siewior wrote:
> > > > RCU_EXPEDITE_BOOT should speed up the boot process by enforcing
> > > > synchronize_rcu_expedited() instead of synchronize_rcu() during the boot
> > > > process. There should be no reason why one does not want this and there
> > > > is no need worry about real time latency at this point.
> > > > Therefore make it default.
> > > >
> > > > Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>
> > >
> > > Well, it has been awhile since I removed a Kconfig parameter.
> > >
> > > So why could this be a bad thing?
> > >
> > > 1. Very large systems might see scalability issues with unconditional
> > > expediting at boot. But if we don't try it, we won't know.
> >
> > You mean we would make the boot process slower for them instead of
> > faster?
>
> For really bit systems, quite possibly, where "really big" means
> many hundreds or (more likely) thousands of CPUs.
>
> But there are things that I can do to fix this when and if.
>
> > > 2. People bringing up new hardware might not want quite so many
> > > IPIs. But they can just set rcu_normal to prevent that.
> >
> > I wanted to make things simple and not complicatedâ
>
> I know that feeling. ;-)
>

I agree, but if this creates a boot time regression in large machines,
it may not be warranted.

I know Linus usually doesn't like options with default y, but this may
be one of those exceptions. Perhaps we should make it on by default and
say in the config "if you have a machine with 100s or 1000s of CPUs,
you may want to disable this".

-- Steve