On Tue, 2 Feb 2021 19:30:34 +0100 Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote: > That does mean that kprobes are then fundamentally running from > in_nmi(), which is what started all this. I just thought about the fact that tracing records the context of the function it is called in. If you set "in_nmi()" for all ftrace handlers, then all functions will look like they are in an NMI context during tracing. That is, the preempt count is checked to fill in the flags in the ring buffer that denotes what context the event (in this case the function) was called in. -- Steve