Re: [PATCH v2 2/4] watchdog: export watchdog_mutex and lockup_detector_reconfigure
From: Michael Ellerman <mpe@ellerman.id.au>
Date: 2022-06-24 06:32:11
Also in:
lkml
Laurent Dufour [off-list ref] writes:
In some cricunstances it may be interesting to reconfigure the watchdog from inside the kernel. On PowerPC, this may helpful before and after a LPAR migration (LPM) is initiated, because it implies some latencies, watchdog, and especially NMI watchdog is expected to be triggered during this operation. Reconfiguring the watchdog, would prevent it to happen too frequently during LPM. The watchdog_mutex is exported to allow some variable to be changed under its protection and prevent any conflict. The lockup_detector_reconfigure() function is exported and is expected to be called under the protection of watchdog_mutex. Signed-off-by: Laurent Dufour <redacted> --- include/linux/nmi.h | 3 +++ kernel/watchdog.c | 6 +++--- 2 files changed, 6 insertions(+), 3 deletions(-)
Is there a maintainer for kernel/watchdog.c ? There's Wim & Guenter at linux-watchdog@vger but I think that's only for drivers/watchdog? Maybe we should Cc that list anyway?
quoted hunk ↗ jump to hunk
diff --git a/include/linux/nmi.h b/include/linux/nmi.h index 750c7f395ca9..84300fb0f90a 100644 --- a/include/linux/nmi.h +++ b/include/linux/nmi.h@@ -122,6 +122,9 @@ int watchdog_nmi_probe(void); int watchdog_nmi_enable(unsigned int cpu); void watchdog_nmi_disable(unsigned int cpu); +extern struct mutex watchdog_mutex; +void lockup_detector_reconfigure(void);
It would be preferable if we didn't export the mutex. I think you could arrange that by ... Renaming lockup_detector_configure() to __lockup_detector_configure() and then adding a new lockup_detector_configure() that is non-static and takes the lock around __lockup_detector_configure(). cheers