On Tue, 16 Jun 2015 10:39:42 -0700 "Paul E. McKenney" <paul...@linux.vnet.ibm.com> wrote:
> > >>If rcu_is_watching() and __rcu_is_watching() are both marked as > > >>notrace, it makes sense to use preempt_disable/enable_notrace() as it > > >>otherwise defeats the purpose of the notrace markers on rcu_is_watching. > > And __rcu_is_watching() is marked notrace as well. Isn't that what I said? > > > >>That is regardless of what the rest of this thread is about. > > > > > >Good enough! Alexei, are you OK with my adding your Signed-off-by > > >to the above patch? > > > > sure. > > Signed-off-by: Alexei Starovoitov <a...@kernel.org> > > > > >(Still not sold on reentrant call_rcu() and > > >kfree_rcu(), but getting notrace set up correctly is worthwhile.) > > > > I'm not sold on it either. So far trying to understand > > all consequences. > > Here is the updated patch. Steven, I added your "Acked-by" based > on your positive comments above, please let me know if you would > like me to remove it. I'm fine with it. But doesn't Acked-by go above Signed-off-by? -- Steve > > Thanx, Paul > > ------------------------------------------------------------------------ > > commit 9611f225d383a2edbdf74ca7f00c8d0b1e56dc45 > Author: Alexei Starovoitov <a...@plumgrid.com> > Date: Tue Jun 16 10:35:18 2015 -0700 > > rcu: Make rcu_is_watching() really notrace > > Although rcu_is_watching() is marked notrace, it invokes preempt_disable() > and preempt_enable(), both of which can be traced. This defeats the > purpose of the notrace on rcu_is_watching(), so this commit substitutes > preempt_disable_notrace() and preempt_enable_notrace(). > > Signed-off-by: Alexei Starovoitov <a...@plumgrid.com> > Signed-off-by: Paul E. McKenney <paul...@linux.vnet.ibm.com> > Acked-by: Steven Rostedt <rost...@goodmis.org> > > diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c > index fc0385380e97..c844ef3c2fae 100644 > --- a/kernel/rcu/tree.c > +++ b/kernel/rcu/tree.c > @@ -973,9 +973,9 @@ bool notrace rcu_is_watching(void) > { > bool ret; > > - preempt_disable(); > + preempt_disable_notrace(); > ret = __rcu_is_watching(); > - preempt_enable(); > + preempt_enable_notrace(); > return ret; > } > EXPORT_SYMBOL_GPL(rcu_is_watching); -- 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/