Commit afda335d authored by Cyrill Gorcunov's avatar Cyrill Gorcunov Committed by Ingo Molnar

x86: nmi_watchdog - documentation fix

nmi_watchdog is set to NMI_NONE by default (ie disabled) on _any_
mode so lets fix documentation too.
Signed-off-by: default avatarCyrill Gorcunov <gorcunov@gmail.com>
Cc: "Maciej W. Rozycki" <macro@linux-mips.org>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent 914bebfa
...@@ -10,7 +10,7 @@ us to generate 'watchdog NMI interrupts'. (NMI: Non Maskable Interrupt ...@@ -10,7 +10,7 @@ us to generate 'watchdog NMI interrupts'. (NMI: Non Maskable Interrupt
which get executed even if the system is otherwise locked up hard). which get executed even if the system is otherwise locked up hard).
This can be used to debug hard kernel lockups. By executing periodic This can be used to debug hard kernel lockups. By executing periodic
NMI interrupts, the kernel can monitor whether any CPU has locked up, NMI interrupts, the kernel can monitor whether any CPU has locked up,
and print out debugging messages if so. and print out debugging messages if so.
In order to use the NMI watchdog, you need to have APIC support in your In order to use the NMI watchdog, you need to have APIC support in your
kernel. For SMP kernels, APIC support gets compiled in automatically. For kernel. For SMP kernels, APIC support gets compiled in automatically. For
...@@ -22,8 +22,7 @@ CONFIG_X86_UP_IOAPIC is for uniprocessor with an IO-APIC. [Note: certain ...@@ -22,8 +22,7 @@ CONFIG_X86_UP_IOAPIC is for uniprocessor with an IO-APIC. [Note: certain
kernel debugging options, such as Kernel Stack Meter or Kernel Tracer, kernel debugging options, such as Kernel Stack Meter or Kernel Tracer,
may implicitly disable the NMI watchdog.] may implicitly disable the NMI watchdog.]
For x86-64, the needed APIC is always compiled in, and the NMI watchdog is For x86-64, the needed APIC is always compiled in.
always enabled with I/O-APIC mode (nmi_watchdog=1).
Using local APIC (nmi_watchdog=2) needs the first performance register, so Using local APIC (nmi_watchdog=2) needs the first performance register, so
you can't use it for other purposes (such as high precision performance you can't use it for other purposes (such as high precision performance
...@@ -63,16 +62,15 @@ when the system is idle), but if your system locks up on anything but the ...@@ -63,16 +62,15 @@ when the system is idle), but if your system locks up on anything but the
"hlt", then you are out of luck -- the event will not happen at all and the "hlt", then you are out of luck -- the event will not happen at all and the
watchdog won't trigger. This is a shortcoming of the local APIC watchdog watchdog won't trigger. This is a shortcoming of the local APIC watchdog
-- unfortunately there is no "clock ticks" event that would work all the -- unfortunately there is no "clock ticks" event that would work all the
time. The I/O APIC watchdog is driven externally and has no such shortcoming. time. The I/O APIC watchdog is driven externally and has no such shortcoming.
But its NMI frequency is much higher, resulting in a more significant hit But its NMI frequency is much higher, resulting in a more significant hit
to the overall system performance. to the overall system performance.
NOTE: starting with 2.4.2-ac18 the NMI-oopser is disabled by default, On x86 nmi_watchdog is disabled by default so you have to enable it with
you have to enable it with a boot time parameter. Prior to 2.4.2-ac18 a boot time parameter.
the NMI-oopser is enabled unconditionally on x86 SMP boxes.
On x86-64 the NMI oopser is on by default. On 64bit Intel CPUs NOTE: Prior to 2.4.2-ac18 the NMI-oopser is enabled unconditionally
it uses IO-APIC by default and on AMD it uses local APIC. on x86 SMP boxes.
[ feel free to send bug reports, suggestions and patches to [ feel free to send bug reports, suggestions and patches to
Ingo Molnar <mingo@redhat.com> or the Linux SMP mailing Ingo Molnar <mingo@redhat.com> or the Linux SMP mailing
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment