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

From: Will Deacon
Date: Wed Feb 12 2020 - 05:56:54 EST


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...

Will