On Wed, 19 Feb 2020 15:47:33 +0100 Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote: > If we call into a tracer before in_nmi() becomes true, the tracer can > no longer detect it is called from NMI context and behave correctly. > > Therefore change nmi_{enter,exit}() to use __preempt_count_{add,sub}() > as the normal preempt_count_{add,sub}() have a (desired) function > trace entry. > > This fixes a potential issue with current code; AFAICT when the > function-tracer has stack-tracing enabled __trace_stack() will > malfunction when it hits the preempt_count_add() function entry from > NMI context. > > Suggested-by: Steven Rostedt (VMware) <rosted@xxxxxxxxxxx> > Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> > --- Reviewed-by: Steven Rostedt (VMware) <rostedt@xxxxxxxxxxx> -- Steve