Messages in this thread | | | Date | Fri, 15 Jun 2012 15:57:49 -0700 | From | "Paul E. McKenney" <> | Subject | Re: [PATCH tip/core/rcu 14/14] rcu: Fix rcu_is_cpu_idle() #ifdef in TINY_RCU |
| |
On Fri, Jun 15, 2012 at 02:28:28PM -0700, Josh Triplett wrote: > On Fri, Jun 15, 2012 at 01:13:15PM -0700, Paul E. McKenney wrote: > > From: "Paul E. McKenney" <paul.mckenney@linaro.org> > > > > The rcu_is_cpu_idle() function is used if CONFIG_DEBUG_LOCK_ALLOC, > > but TINY_RCU defines it only when CONFIG_PROVE_RCU. This causes > > build failures when CONFIG_DEBUG_LOCK_ALLOC=y but CONFIG_PROVE_RCU=n. > > This commit therefore adjusts the #ifdefs for rcu_is_cpu_idle() so > > that it is defined when CONFIG_DEBUG_LOCK_ALLOC=y. > > > > Signed-off-by: Paul E. McKenney <paul.mckenney@linaro.org> > > Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com> > > Given that an earlier patch in this series makes rcupdate.h > unconditionally prototype rcu_is_cpu_idle, shouldn't rcutiny.c define it > unconditionally? (And do so before the earlier patch in this series > makes it available unconditionally?)
Or update that earlier patch so that it keeps rcu_is_cpu_idle() under #ifdef CONFIG_DEBUG_LOCK_ALLOC. Either way, good catch!
Hmmm... I want it under CONFIG_DEBUG_LOCK_ALLOC for TINY_RCU (memory footprint and all that), but unconditional for TREE_RCU. That can be arranged...
Thanx, Paul
> - Josh Triplett > > > kernel/rcutiny.c | 4 ++-- > > 1 files changed, 2 insertions(+), 2 deletions(-) > > > > diff --git a/kernel/rcutiny.c b/kernel/rcutiny.c > > index 37a5444..547b1fe 100644 > > --- a/kernel/rcutiny.c > > +++ b/kernel/rcutiny.c > > @@ -172,7 +172,7 @@ void rcu_irq_enter(void) > > local_irq_restore(flags); > > } > > > > -#ifdef CONFIG_PROVE_RCU > > +#ifdef CONFIG_DEBUG_LOCK_ALLOC > > > > /* > > * Test whether RCU thinks that the current CPU is idle. > > @@ -183,7 +183,7 @@ int rcu_is_cpu_idle(void) > > } > > EXPORT_SYMBOL(rcu_is_cpu_idle); > > > > -#endif /* #ifdef CONFIG_PROVE_RCU */ > > +#endif /* #ifdef CONFIG_DEBUG_LOCK_ALLOC */ > > > > /* > > * Test whether the current CPU was interrupted from idle. Nested > > -- > > 1.7.8 > > >
| |