On Tue, Sep 29, 2020 at 10:34:54AM -0400, Steven Rostedt wrote:
> Anyway, you bring up a good point. I should have this:

Acked-by: Peter Zijlstra (Intel) <[email protected]>

> diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
> index 84f32dbc7be8..2d76eaaad4a7 100644
> --- a/kernel/trace/ftrace.c
> +++ b/kernel/trace/ftrace.c
> @@ -6993,16 +6993,14 @@ static void ftrace_ops_assist_func(unsigned long ip, 
> unsigned long parent_ip,
>  {
>       int bit;
>  
> -     if ((op->flags & FTRACE_OPS_FL_RCU) && !rcu_is_watching())
> -             return;
> -
>       bit = trace_test_and_set_recursion(TRACE_LIST_START, TRACE_LIST_MAX);
>       if (bit < 0)
>               return;
>  
>       preempt_disable_notrace();
>  
> -     op->func(ip, parent_ip, op, regs);
> +     if (!(op->flags & FTRACE_OPS_FL_RCU) || rcu_is_watching())
> +             op->func(ip, parent_ip, op, regs);
>  
>       preempt_enable_notrace();
>       trace_clear_recursion(bit);
> 
> 
> 
> -- Steve

Reply via email to