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

From: Steven Rostedt
Date: Fri May 10 2019 - 14:49:17 EST



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.

-- Steve


> please see 'nowatchdog'.
> This is useful when you use a panic=... timeout and