Messages in this thread | | | Date | Wed, 20 Aug 2008 12:16:44 -0400 (EDT) | From | Steven Rostedt <> | Subject | Re: [PATCH -tip/core/rcu] fixes to include/linux/rcupreempt.h |
| |
Sorry for the late post, I'm finally looking at all my -rt mail.
On Fri, 1 Aug 2008, Paul E. McKenney wrote:
> Hello! > > Compared tip/core/rcu to my latest patchset, and found the following > issues: > > o the memory barrier in rcu_exit_nohz() somehow got out of place > (it is correct in mainline as of 2.6.26-rc7). > > o There is a duplicate declaration of rcu_dyntick_sched. > > The attached patch fixes these. > > Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com> > --- > > diff --git a/include/linux/rcupreempt.h b/include/linux/rcupreempt.h > index f04b64e..84678bf 100644 > --- a/include/linux/rcupreempt.h > +++ b/include/linux/rcupreempt.h > @@ -111,7 +111,6 @@ extern struct rcupreempt_trace *rcupreempt_trace_cpu(int cpu); > struct softirq_action; > > #ifdef CONFIG_NO_HZ > -DECLARE_PER_CPU(struct rcu_dyntick_sched, rcu_dyntick_sched);
In -rt we deleted the first declaration. Is rcu_dyntick_sched defined on !CONFIG_NO_HZ?
-- Steve
> > static inline void rcu_enter_nohz(void) > { > @@ -122,8 +121,8 @@ static inline void rcu_enter_nohz(void) > > static inline void rcu_exit_nohz(void) > { > - smp_mb(); /* CPUs seeing ++ must see later RCU read-side crit sects */ > __get_cpu_var(rcu_dyntick_sched).dynticks++; > + smp_mb(); /* CPUs seeing ++ must see later RCU read-side crit sects */ > WARN_ON(!(__get_cpu_var(rcu_dyntick_sched).dynticks & 0x1)); > } > >
| |