Re: config RCU_EQS_DEBUG

From: Jean Delvare
Date: Sun Jul 05 2015 - 04:54:01 EST


Hi Paul,

On Fri, 3 Jul 2015 09:00:37 -0700, Paul E. McKenney wrote:
> On Fri, Jul 03, 2015 at 10:07:45AM +0200, Jean Delvare wrote:
> > You just introduced a Linux kernel configuration option named
> > RCU_EQS_DEBUG. Its short description is "Use this when adding any sort
> > of NO_HZ support to your arch".
> >
> > I'm afraid this is a bad way to briefly explain what the option
> > actually does (which is what the short description is for.) A sentence
> > like "use this when adding any sort of NO_HZ support to your arch"
> > should go in the help text, not the short description. The short
> > description should be something like along the lines of "Enable
> > consistency checks for RCU", for example.
> >
> > Additionally I see some inconsistency in the fact that this option
> > defaults to n but the help text says "Say Y if you are unsure". BTW,
> > option RCU_CPU_STALL_INFO is equally inconsistent with a default y and
> > "say N if you are unsure" in the help text.
>
> I have the following queued, which should address your first point.

Yes it does, thank you. If I were to nitpick I'd say that the option is
adding (or including) the asserts rather than providing them.

> Would adding "default y" address your other point?

It would make things consistent, but I have a serious doubt that this
is the right direction. An option which is described as being useful
"when adding any sort of NO_HZ support to a new architecture" really
does not seem to be one that should be enabled by default. You may
argue that it still depends on DEBUG_KERNEL but well, that option is
enabled in pretty much every distribution kernel these days. So I
believe that default n (no default actually) was correct, and what
needs to be removed is the statement "Say Y if you are unsure". If the
user is unsure, then certainly he/she is not working on NO_HZ support
for a new architecture and thus doesn't need to enable RCU_EQS_DEBUG.

> On RCU_CPU_STALL_INFO, I have a patch queued for v4.3 that eliminates
> this Kconfig option completely.

That solves the problem nicely :-)

> rcu: Clarify CONFIG_RCU_EQS_DEBUG help text
>
> Reported-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx>
>
> diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
> index 6be521990d61..80efaade5e59 100644
> --- a/lib/Kconfig.debug
> +++ b/lib/Kconfig.debug
> @@ -1360,7 +1360,7 @@ config RCU_TRACE
> Say N if you are unsure.
>
> config RCU_EQS_DEBUG
> - bool "Use this when adding any sort of NO_HZ support to your arch"
> + bool "Provide debugging asserts for adding NO_HZ support to an arch"
> depends on DEBUG_KERNEL
> help
> This option provides consistency checks in RCU's handling of
>

--
Jean Delvare
SUSE L3 Support
--
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/