Messages in this thread | | | Date | Mon, 28 Jan 2013 21:56:43 -0800 | From | "Paul E. McKenney" <> | Subject | Re: [PATCH tip/core/rcu 1/2] rcu: Provide RCU CPU stall warnings for tiny RCU |
| |
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@linaro.org> > > > > 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@linutronix.de> > > Signed-off-by: Paul E. McKenney <paul.mckenney@linaro.org> > > Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com> > > One suggestion below; with that change, > Reviewed-by: Josh Triplett <josh@joshtriplett.org> > > > --- 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
| |