Re: [RFC PATCH] srcu: Use try-lock lockdep annotation for NMI-safe access.

Peter Zijlstra
2023-09-28T15:30:04Z

On Thu, Sep 28, 2023 at 07:54:10AM -0700, Boqun Feng wrote:
> On Thu, Sep 28, 2023 at 10:09:00AM +0200, Peter Zijlstra wrote:
> > On Wed, Sep 27, 2023 at 11:06:09PM -0700, Boqun Feng wrote:
> >
> > > I think this is a "side-effect" of commit f0f44752f5f6 ("rcu: Annotate
> > > SRCU's update-side lockdep dependencies"). In verify_lock_unused(), i.e.
> > > the checking for NMI lock usages, the logic is that
> >
> > I think I'm having a problem with this commit -- that is, by adding
> > lockdep you're adding tracepoint, which rely on RCU being active.
> >
> > The result is that SRCU is now no longer usable from !RCU regions.
> >
>
> Interesting
>
> > Was this considered and intended?
> >
>
> No, I don't think I have considered this before, I think I may still
> miss something here, maybe you or Paul can provide an example for such
> a case?

The whole trace_.*_rcuidle() machinery. Which I thought I had fully
eradicated, but apparently still exists (with *one* user) :-/

Search for rcuidle in include/linux/tracepoint.h

Also, git grep trace_.*_rcuidle