On Tue, Sep 03, 2013 at 10:01:15PM -0400, Steven Rostedt wrote: > On Tue, 3 Sep 2013 18:24:04 -0700 > "Paul E. McKenney" <paul...@linux.vnet.ibm.com> wrote: > > > > > static DEFINE_PER_CPU(unsigned long, ftrace_rcu_func); > > > @@ -588,15 +593,14 @@ static void > > > ftrace_unsafe_callback(unsigned long ip, unsigned long parent_ip, > > > struct ftrace_ops *op, struct pt_regs *pt_regs) > > > { > > > - int bit; > > > - > > > + /* Make sure we see disabled or not first */ > > > + smp_rmb(); > > > > smp_mb__before_atomic_inc()? > > > > Ah, but this is before an atomic_read(), and not an atomic_inc(), thus > the normal smp_rmb() is still required.
Good point, color me blind, dazed, and confused. Thanx, Paul > -- Steve > > > > if (atomic_read(&ftrace_unsafe_rcu_disabled)) > > > return; > > > > > > preempt_disable_notrace(); > > > > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/