[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <871qve6084.fsf@mpe.ellerman.id.au>
Date: Fri, 24 Jun 2022 16:31:55 +1000
From: Michael Ellerman <mpe@...erman.id.au>
To: Laurent Dufour <ldufour@...ux.ibm.com>, benh@...nel.crashing.org,
paulus@...ba.org, nathanl@...ux.ibm.com, haren@...ux.vnet.ibm.com,
npiggin@...il.com
Cc: linuxppc-dev@...ts.ozlabs.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2 2/4] watchdog: export watchdog_mutex and
lockup_detector_reconfigure
Laurent Dufour <ldufour@...ux.ibm.com> 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 <ldufour@...ux.ibm.com>
> ---
> 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@...r but I think that's only for
drivers/watchdog?
Maybe we should Cc that list anyway?
> 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
Powered by blists - more mailing lists