x86/entry/64, x86/nmi/64: Add CONFIG_DEBUG_ENTRY NMI testing code
authorAndy Lutomirski <luto@kernel.org>
Wed, 15 Jul 2015 17:29:41 +0000 (10:29 -0700)
committerIngo Molnar <mingo@kernel.org>
Fri, 17 Jul 2015 10:50:14 +0000 (12:50 +0200)
commita97439aa1aec10387797b4abae3cf117de1c90d7
tree6350d830fed0e1a6908bc53eaa9aefff2425902b
parent36f1a77b3aa57c5c2eb1ae2d67d07c4350a78345
x86/entry/64, x86/nmi/64: Add CONFIG_DEBUG_ENTRY NMI testing code

It turns out to be rather tedious to test the NMI nesting code.
Make it easier: add a new CONFIG_DEBUG_ENTRY option that causes
the NMI handler to pre-emptively unmask NMIs.

With this option set, errors in the repeat_nmi logic or failures
to detect that we're in a nested NMI will result in quick panics
under perf (especially if multiple counters are running at high
frequency) instead of requiring an unusual workload that
generates page faults or breakpoints inside NMIs.

I called it CONFIG_DEBUG_ENTRY instead of CONFIG_DEBUG_NMI_ENTRY
because I want to add new non-NMI checks elsewhere in the entry
code in the future, and I'd rather not add too many new config
options or add this option and then immediately rename it.

Signed-off-by: Andy Lutomirski <luto@kernel.org>
Reviewed-by: Steven Rostedt <rostedt@goodmis.org>
Cc: Borislav Petkov <bp@suse.de>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
arch/x86/Kconfig.debug
arch/x86/entry/entry_64.S