Re: [PATCH 8/8] tracing: Remove regular RCU context for _rcuidle tracepoints (again)
From: Steven Rostedt <rostedt@goodmis.org>
Date: 2020-02-12 14:29:56
Also in:
lkml
On Wed, 12 Feb 2020 10:32:18 +0100 Peter Zijlstra [off-list ref] wrote:
quoted hunk ↗ jump to hunk
Effectively revert commit 865e63b04e9b2 ("tracing: Add back in rcu_irq_enter/exit_irqson() for rcuidle tracepoints") now that we've taught perf how to deal with not having an RCU context provided. Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> --- include/linux/tracepoint.h | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-)--- a/include/linux/tracepoint.h +++ b/include/linux/tracepoint.h@@ -179,10 +179,8 @@ static inline struct tracepoint *tracepo * For rcuidle callers, use srcu since sched-rcu \ * doesn't work from the idle path. \ */ \ - if (rcuidle) { \ + if (rcuidle) \ __idx = srcu_read_lock_notrace(&tracepoint_srcu);\ - rcu_irq_enter_irqsave(); \ - } \ \ it_func_ptr = rcu_dereference_raw((tp)->funcs); \ \@@ -194,10 +192,8 @@ static inline struct tracepoint *tracepo } while ((++it_func_ptr)->func); \ } \ \ - if (rcuidle) { \ - rcu_irq_exit_irqsave(); \ + if (rcuidle) \ srcu_read_unlock_notrace(&tracepoint_srcu, __idx);\ - } \ \ preempt_enable_notrace(); \ } while (0)
Which looks basically the same as this patch... https://lore.kernel.org/r/20200211095047.58ddf750@gandalf.local.home (local) -- Steve