Re: [PATCH v3 13/22] tracing: Remove regular RCU context for _rcuidle tracepoints (again)

From: Paul E. McKenney
Date: Wed Feb 19 2020 - 12:40:28 EST


On Wed, Feb 19, 2020 at 12:21:16PM -0500, Steven Rostedt wrote:
> On Wed, 19 Feb 2020 18:05:07 +0100
> Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:
>
> > On Wed, Feb 19, 2020 at 05:47:36PM +0100, Peter Zijlstra wrote:
> > > On Wed, Feb 19, 2020 at 08:43:56AM -0800, Paul E. McKenney wrote:
> > > > On Wed, Feb 19, 2020 at 03:47:37PM +0100, Peter Zijlstra wrote:
> > > > > 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@xxxxxxxxxxxxx>
> > > > > ---
> > > > > 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
> > > >
> > > > Shouldn't we also get rid of this line above?
> > > >
> > > > int __maybe_unused __idx = 0; \
> > > >
> > >
> > > Probably makes a lot of sense, lemme fix that!
> >
> > Oh wait, no! SRCU is the one that remains !
>
> Correct, and if rcuidle is not set, and this is a macro, the SRCU
> portion is compiled out.

Sigh! Apologies for the noise!

If we are using SRCU, we don't care whether or not RCU is watching. OK,
maybe finally catching up -- the whole point was use of RCU in other
tracing code, wasn't it?

Thanx, Paul