x86, NMI: Add NMI IPI selftest
authorDon Zickus <dzickus@redhat.com>
Thu, 13 Oct 2011 19:14:26 +0000 (15:14 -0400)
committerIngo Molnar <mingo@elte.hu>
Mon, 5 Dec 2011 11:00:16 +0000 (12:00 +0100)
commit99e8b9ca90d688c3ac7d3a141b701c9694a93925
tree1893fd5fce8c3d8ae52440d9db7d23be7fdecbc9
parent3603a2512f9e69dc87914ba922eb4a0812b21cd6
x86, NMI: Add NMI IPI selftest

The previous patch modified the stop cpus path to use NMI
instead of IRQ as the way to communicate to the other cpus to
shutdown.  There were some concerns that various machines may
have problems with using an NMI IPI.

This patch creates a selftest to check if NMI is working at
boot. The idea is to help catch any issues before the machine
panics and we learn the hard way.

Loosely based on the locking-selftest.c file, this separate file
runs a couple of simple tests and reports the results.  The
output looks like:

...
Brought up 4 CPUs
----------------
| NMI testsuite:
--------------------
  remote IPI:  ok  |
   local IPI:  ok  |
--------------------
Good, all   2 testcases passed! |
---------------------------------
Total of 4 processors activated (21330.61 BogoMIPS).
...

Signed-off-by: Don Zickus <dzickus@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Robert Richter <robert.richter@amd.com>
Cc: seiji.aguchi@hds.com
Cc: vgoyal@redhat.com
Cc: mjg@redhat.com
Cc: tony.luck@intel.com
Cc: gong.chen@intel.com
Cc: satoru.moriya@hds.com
Cc: avi@redhat.com
Cc: Andi Kleen <andi@firstfloor.org>
Link: http://lkml.kernel.org/r/1318533267-18880-3-git-send-email-dzickus@redhat.com
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/Kconfig.debug
arch/x86/include/asm/smp.h
arch/x86/kernel/Makefile
arch/x86/kernel/nmi_selftest.c [new file with mode: 0644]
arch/x86/kernel/smpboot.c