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/

Reply via email to