Re: [PATCH v4 4/4] pseries/mobility: set NMI watchdog factor during LPM
From: Randy Dunlap
Date: Tue Jul 12 2022 - 12:25:59 EST
Hi--
On 7/12/22 07:32, Laurent Dufour wrote:
> During a LPM, while the memory transfer is in progress on the arrival side,
> some latencies is generated when accessing not yet transferred pages on the
are
> arrival side. Thus, the NMI watchdog may be triggered too frequently, which
> increases the risk to hit a NMI interrupt in a bad place in the kernel,
an NMI
> leading to a kernel panic.
>
> Disabling the Hard Lockup Watchdog until the memory transfer could be a too
> strong work around, some users would want this timeout to be eventually
> triggered if the system is hanging even during LPM.
>
> Introduce a new sysctl variable nmi_watchdog_factor. It allows to apply
> a factor to the NMI watchdog timeout during a LPM. Just before the CPU are
an LPM. the CPU is
> stopped for the switchover sequence, the NMI watchdog timer is set to
> watchdog_tresh + factor%
watchdog_thresh
>
> A value of 0 has no effect. The default value is 200, meaning that the NMI
> watchdog is set to 30s during LPM (based on a 10s watchdog_tresh value).
watchdog_thresh
> Once the memory transfer is achieved, the factor is reset to 0.
>
> Setting this value to a high number is like disabling the NMI watchdog
> during a LPM.
an LPM.
>
> Reviewed-by: Nicholas Piggin <npiggin@xxxxxxxxx>
> Signed-off-by: Laurent Dufour <ldufour@xxxxxxxxxxxxx>
> ---
> Documentation/admin-guide/sysctl/kernel.rst | 12 ++++++
> arch/powerpc/platforms/pseries/mobility.c | 43 +++++++++++++++++++++
> 2 files changed, 55 insertions(+)
>
> diff --git a/Documentation/admin-guide/sysctl/kernel.rst b/Documentation/admin-guide/sysctl/kernel.rst
> index ddccd1077462..0bb0b7f27e96 100644
> --- a/Documentation/admin-guide/sysctl/kernel.rst
> +++ b/Documentation/admin-guide/sysctl/kernel.rst
> @@ -592,6 +592,18 @@ to the guest kernel command line (see
> Documentation/admin-guide/kernel-parameters.rst).
>
This entire block should be in kernel-parameters.txt, not .rst,
and it should be formatted like everything else in the .txt file.
>
> +nmi_watchdog_factor (PPC only)
> +==================================
> +
> +Factor apply to to the NMI watchdog timeout (only when ``nmi_watchdog`` is
Factor to apply to the NMI
> +set to 1). This factor represents the percentage added to
> +``watchdog_thresh`` when calculating the NMI watchdog timeout during a
during an
> +LPM. The soft lockup timeout is not impacted.
> +
> +A value of 0 means no change. The default value is 200 meaning the NMI
> +watchdog is set to 30s (based on ``watchdog_thresh`` equal to 10).
> +
> +
> numa_balancing
> ==============
>
--
~Randy