Re: [PATCH V2 2/2] trace,x86: Add nmi to the irq_vectors class

From: Thomas Gleixner
Date: Fri Apr 05 2019 - 17:50:20 EST


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