Re: [PATCH tip/core/rcu 1/2] rcu: Provide RCU CPU stall warnings fortiny RCU

From: Paul E. McKenney
Date: Tue Jan 29 2013 - 01:27:08 EST


On Sun, Jan 27, 2013 at 09:57:08PM +1100, Josh Triplett wrote:
> On Sat, Jan 26, 2013 at 04:23:46PM -0800, Paul E. McKenney wrote:
> > From: "Paul E. McKenney" <paul.mckenney@xxxxxxxxxx>
> >
> > Tiny RCU has historically omitted RCU CPU stall warnings in order to
> > reduce memory requirements, however, lack of these warnings caused
> > Thomas Gleixner some debugging pain recently. Therefore, this commit
> > adds RCU CPU stall warnings to tiny RCU if RCU_TRACE=y. This keeps
> > the memory footprint small, while still enabling CPU stall warnings
> > in kernels built to enable them.
> >
> > Updated to include Josh Triplett's suggested use of RCU_STALL_COMMON
> > config variable to simplify #if expressions.
> >
> > Reported-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> > Signed-off-by: Paul E. McKenney <paul.mckenney@xxxxxxxxxx>
> > Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx>
>
> One suggestion below; with that change,
> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx>
>
> > --- a/init/Kconfig
> > +++ b/init/Kconfig
> > @@ -486,6 +486,14 @@ config PREEMPT_RCU
> > This option enables preemptible-RCU code that is common between
> > the TREE_PREEMPT_RCU and TINY_PREEMPT_RCU implementations.
> >
> > +config RCU_STALL_COMMON
> > + def_bool ( TREE_RCU || TREE_PREEMPT_RCU || RCU_TRACE )
> > + help
> > + This option enables RCU CPU stall code that is common between
> > + the TINY and TREE variants of RCU. The purpose is to allow
> > + the tiny variants to disable RCU CPU stall warnings, while
> > + making these warnings mandatory for the tree variants.
> > +
> [...]
> > --- a/lib/Kconfig.debug
> > +++ b/lib/Kconfig.debug
> > @@ -970,7 +970,7 @@ config RCU_TORTURE_TEST_RUNNABLE
> >
> > config RCU_CPU_STALL_TIMEOUT
> > int "RCU CPU stall timeout in seconds"
> > - depends on TREE_RCU || TREE_PREEMPT_RCU
> > + depends on TREE_RCU || TREE_PREEMPT_RCU || RCU_TRACE
>
> depends on RCU_STALL_COMMON

Good catch, fixed!

Thanx, Paul

--
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/