On Mon, 1 Apr 2019, Daniel Bristot de Oliveira wrote: > Currently, the irq_vector class of tracepoints does not include the NMI > entry. The NMI was in the first set of tracepoints for IRQs, but it was > dropped off because of the logic of switching IDT when enabling trace[1]. > However, as the switching IDT logic was removed [2], it is possible to add
Well, not really. tracepoints inside of do_nmi() have been there for a long time. The nasty part was that the irq_vector patches injected the tracepoints way down in the low level entry code, which caused more problems than it solved including the extra IDT switcheroo. > the NMI tracepoints back. So again we have two tracepoints. One for the entry and one for the handlers. Do we really need both? If so please provide some rationale. > The tracepoints looks like: > <idle>-0 [000] d.Z. 179.594315: nmi_entry: vector=2 > <idle>-0 [000] d.Z. 179.594396: nmi_exit: vector=2 > > [1] trace,x86: irq vector tracepoint support > https://lwn.net/Articles/555465/ Please use https://lkml.kernel.org/r/$MESSAGE-ID > [2] commit 4b9a8dca0e58 ("x86/idt: Remove the tracing IDT completely") > > Changes from V1: > - Fix a compilation problem when CONFIG_X86_LOCAL_APIC is not set (kbuild > test) Please put changes below the '---' separator. They are not part of the final changelog and having them below spares the maintainer the time to remove them manually. Thanks, tglx

