Re: [PATCH 2/2] doc: kernel-parameters.txt: fix documentation of nmi_watchdog parameter

From: Zhenzhong Duan
Date: Sun May 12 2019 - 22:46:48 EST


Hi Steven,

On 2019/5/11 2:47, Steven Rostedt wrote:
As nobody else commented, I will ;)

Hi Zhenzhong!

On Sun, 14 Apr 2019 11:11:04 +0800
Zhenzhong Duan <zhenzhong.duan@xxxxxxxxxx> wrote:

As stated in "Documentation/lockup-watchdogs.txt:line 22", the default
behaivor after 'hardlockup' is to stay locked up rather than panic.
That actually says:

A 'hardlockup' is defined as a bug that causes the CPU to loop in
kernel mode for more than 10 seconds (see "Implementation" below for
details), without letting other interrupts have a chance to run.
Similarly to the softlockup case, the current stack trace is displayed
upon detection and the system will stay locked up unless the default
behavior is changed, which can be done through a sysctl,
'hardlockup_panic', a compile time knob, "BOOTPARAM_HARDLOCKUP_PANIC",
and a kernel parameter, "nmi_watchdog"

If your config has:

CONFIG_BOOTPARAM_HARDLOCKUP_PANIC=y

The kernel will panic on hard lockup by default unless you add nopanic.

If your config has:

# CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set

Then the default will be not to panic unless you add "panic" to the
kernel command line.

Signed-off-by: Zhenzhong Duan <zhenzhong.duan@xxxxxxxxxx>
---
Documentation/admin-guide/kernel-parameters.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
index 2b8ee90..fcc9579 100644
--- a/Documentation/admin-guide/kernel-parameters.txt
+++ b/Documentation/admin-guide/kernel-parameters.txt
@@ -2769,7 +2769,7 @@
0 - turn hardlockup detector in nmi_watchdog off
1 - turn hardlockup detector in nmi_watchdog on
When panic is specified, panic when an NMI watchdog
- timeout occurs (or 'nopanic' to override the opposite
+ timeout occurs (or 'nopanic' which is the opposite
default). To disable both hard and soft lockup detectors,
Honestly, I think the original text states what it does better than
your update. Because the nopanic is added to override the "opposite
default" which is if the config was set to do so.

That said, this all still can be explained better. What about:

nmi_watchdog= [KNL,BUGS=X86] Debugging features for SMP kernels
Format: [panic,][nopanic,][num]
Valid num: 0 or 1
0 - turn hardlockup detector in nmi_watchdog off
1 - turn hardlockup detector in nmi_watchdog on
When panic is specified, panic when an NMI watchdog
timeout occurs (or 'nopanic' to not panic on an NMI
watchdog, if CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is set)
To disable both hard and soft lockup detectors,
please see 'nowatchdog'.
This is useful when you use a panic=... timeout and
need the box quickly up again.

Thanks Seeve for your comments, so the default behavior of hardlockup depends on the setting of CONFIG_BOOTPARAM_HARDLOCKUP_PANIC.

It did confused me previously. You suggested fix is better, I'll fix it later.


Zhenzhong