Re: [GIT PULL rcu/next] RCU commits for 4.2

From: Paul E. McKenney
Date: Tue Jun 02 2015 - 08:36:30 EST


On Tue, Jun 02, 2015 at 08:31:53AM +0200, Ingo Molnar wrote:
> * Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> wrote:
>
> > Hello, Ingo,
> >
> > The changes in this series include the following:
> >
> > 1. Remove all uses of RCU-protected array indexes. These were posted
> > to LKML at https://lkml.org/lkml/2015/5/12/827.
> >
> > 2. Documentation updates. These were posted to LKML at
> > https://lkml.org/lkml/2015/5/12/848.
> >
> > 3. Miscellaneous fixes. These were posted to LKML at
> > https://lkml.org/lkml/2015/5/12/876.
> >
> > 4. CPU-hotplug updates. These were posted to LKML at
> > https://lkml.org/lkml/2015/5/12/880.
> >
> > 5. Initialization/Kconfig updates. These were posted to LKML at
> > https://lkml.org/lkml/2015/5/12/918, however, the updates to
> > Tree RCU's initialization have been deferred to 4.3.
> >
> > 6. Updates to Tiny RCU. These were posted to LKML at
> > https://lkml.org/lkml/2015/5/12/957.
> >
> > 7. Torture-testing updates. These were posted to LKML at
> > https://lkml.org/lkml/2015/5/12/964.

[ . . . ]

> Pulled, thanks a lot Paul!
>
> I am wondering about the following small detail. You have reworked the whole RCU
> Kconfig machinery with the introduction of RCU_EXPERT and smart selection of
> defaults. (very nice!)
>
> There's a single interactive option left when a user configures RCU 'anew' and
> keeps CONFIG_RCU_EXPERT disabled:
>
> Offload RCU callback processing from boot-selected CPUs (RCU_NOCB_CPU) [N/y/?] (NEW)
>
> I'm wondering whether we could put this behind CONFIG_RCU_EXPERT as well, and
> disable it by default?
>
> The argument for this is very simple IMHO: NO_HZ_FULL depends on nocb_cpu support,
> and actually selects it, so there's no way to misconfigure it.
>
> Without NO_HZ_FULL it might still make sense to use nocb_cpu, but it's very much
> an advanced, expert option.
>
> With this change we could make RCU essentially configuration free in the common
> case! :-)

And the -rt folks could presumably add a select clause as well, where
needed. And I cannot recall a specific reason for not doing so. I have
queued the following patch, so let's see how it goes. ;-)

Thanx, Paul

------------------------------------------------------------------------

rcu: Hide RCU_NOCB_CPU behind RCU_EXPERT

This commit prevents Kconfig from asking the user about RCU_NOCB_CPU
unless the user really wants to be asked.

Reported-by: Ingo Molnar <mingo@xxxxxxxxxx>
Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>

diff --git a/init/Kconfig b/init/Kconfig
index 5b8726c10685..67a0156fa091 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -697,6 +697,7 @@ config RCU_BOOST_DELAY
config RCU_NOCB_CPU
bool "Offload RCU callback processing from boot-selected CPUs"
depends on TREE_RCU || PREEMPT_RCU
+ depends on RCU_EXPERT
default n
help
Use this option to reduce OS jitter for aggressive HPC or

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/