Re: [PATCH 0/8] tracing vs rcu vs nmi

From: Peter Zijlstra
Date: Wed Feb 12 2020 - 06:59:02 EST


On Wed, Feb 12, 2020 at 10:56:46AM +0000, Will Deacon wrote:
> On Wed, Feb 12, 2020 at 11:01:06AM +0100, Peter Zijlstra wrote:
> > On Wed, Feb 12, 2020 at 10:32:10AM +0100, Peter Zijlstra wrote:
> > > Hi all,
> > >
> > > These here patches are the result of Mathieu and Steve trying to get commit
> > > 865e63b04e9b2 ("tracing: Add back in rcu_irq_enter/exit_irqson() for rcuidle
> > > tracepoints") reverted again.
> > >
> > > One of the things discovered is that tracing MUST NOT happen before nmi_enter()
> > > or after nmi_exit(). I've only fixed x86, but quickly gone through other
> > > architectures and there is definitely more stuff to be fixed (simply grep for
> > > nmi_enter in your arch).
> >
> > For ARM64:
> >
> > - apei_claim_sea()
> > - __sdei_handler()
> > - do_serror()
> > - debug_exception_enter() / do_debug_exception()
> >
> > all look dodgy.
>
> Hmm, so looks like we need to spinkle some 'notrace' annotations around
> these. Are there are scenarios where you would want NOKPROBE_SYMBOL() but
> *not* 'notrace'? We've already got the former for the debug exception
> handlers and we probably (?) want it for the SDEI stuff too...

I'm not sure. In fact, I asked Steve on IRC if we'd want to teach
objtool to report such inconsitencies.