All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/4] Extending NMI watchdog during LPM
@ 2022-06-27 13:53 ` Laurent Dufour
  0 siblings, 0 replies; 28+ messages in thread
From: Laurent Dufour @ 2022-06-27 13:53 UTC (permalink / raw)
  To: wim, linux, mpe, benh, paulus, nathanl, haren, npiggin
  Cc: linux-kernel, linuxppc-dev, linux-watchdog

When a partition is transferred, once it arrives at the destination node,
the partition is active but much of its memory must be transferred from the
start node.

It depends on the activity in the partition, but the more CPU the partition
has, the more memory to be transferred is likely to be. This causes latency
when accessing pages that need to be transferred, and often, for large
partitions, it triggers the NMI watchdog.

The NMI watchdog causes the CPU stack to dump where it appears to be
stuck. In this case, it does not bring much information since it can happen
during any memory access of the kernel.

In addition, the NMI interrupt mechanism is not secure and can generate a
dump system in the event that the interruption is taken while MSR[RI]=0.

Depending on the LPAR size and load, it may be interesting to extend the
NMI watchdog timer during the LPM.

That's configurable through sysctl with the new introduced variable
(specific to powerpc) nmi_watchdog_factor. This value represents the
percentage added to watchdog_tresh to set the NMI watchdog timeout during a
LPM.

Changes in v3:
 - don't export watchdog_mutex
 - fix a comment in mobilty.c, wait_for_vasi_session_completed()
 - fix a build issue when !CONFIG_PPC_WATCHDOG
 - rework some printk and rename the sysctl variable.

v2:
https://lore.kernel.org/all/20220614135414.37746-1-ldufour@linux.ibm.com/

Laurent Dufour (4):
  powerpc/mobility: wait for memory transfer to complete
  watchdog: export lockup_detector_reconfigure
  powerpc/watchdog: introduce a NMI watchdog's factor
  pseries/mobility: set NMI watchdog factor during LPM

 Documentation/admin-guide/sysctl/kernel.rst | 12 +++
 arch/powerpc/include/asm/nmi.h              |  2 +
 arch/powerpc/kernel/watchdog.c              | 21 ++++-
 arch/powerpc/platforms/pseries/mobility.c   | 85 ++++++++++++++++++++-
 include/linux/nmi.h                         |  2 +
 kernel/watchdog.c                           | 21 +++--
 6 files changed, 135 insertions(+), 8 deletions(-)

-- 
2.36.1


^ permalink raw reply	[flat|nested] 28+ messages in thread

end of thread, other threads:[~2022-07-13 14:23 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-06-27 13:53 [PATCH v3 0/4] Extending NMI watchdog during LPM Laurent Dufour
2022-06-27 13:53 ` Laurent Dufour
2022-06-27 13:53 ` [PATCH v3 1/4] powerpc/mobility: wait for memory transfer to complete Laurent Dufour
2022-06-27 13:53   ` Laurent Dufour
2022-07-12  1:33   ` Nicholas Piggin
2022-07-12  1:33     ` Nicholas Piggin
2022-07-12  9:38     ` Laurent Dufour
2022-07-12  9:38       ` Laurent Dufour
2022-06-27 13:53 ` [PATCH v3 2/4] watchdog: export lockup_detector_reconfigure Laurent Dufour
2022-06-27 13:53   ` Laurent Dufour
2022-06-27 13:53 ` [PATCH v3 3/4] powerpc/watchdog: introduce a NMI watchdog's factor Laurent Dufour
2022-06-27 13:53   ` Laurent Dufour
2022-07-12  1:42   ` Nicholas Piggin
2022-07-12  1:42     ` Nicholas Piggin
2022-07-12  9:51     ` Laurent Dufour
2022-07-12  9:51       ` Laurent Dufour
2022-06-27 13:53 ` [PATCH v3 4/4] pseries/mobility: set NMI watchdog factor during LPM Laurent Dufour
2022-06-27 13:53   ` Laurent Dufour
2022-07-12  1:46   ` Nicholas Piggin
2022-07-12  1:46     ` Nicholas Piggin
2022-07-12  9:47     ` Laurent Dufour
2022-07-12  9:47       ` Laurent Dufour
2022-07-13 14:22       ` Laurent Dufour
2022-07-13 14:22         ` Laurent Dufour
2022-07-12  1:21 ` [PATCH v3 0/4] Extending NMI watchdog " Nicholas Piggin
2022-07-12  1:21   ` Nicholas Piggin
2022-07-12  9:32   ` Laurent Dufour
2022-07-12  9:32     ` Laurent Dufour

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.