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.