[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20170617125933.774d3858@roar.ozlabs.ibm.com>
Date: Sat, 17 Jun 2017 12:59:33 +1000
From: Nicholas Piggin <npiggin@...il.com>
To: Andrew Morton <akpm@...ux-foundation.org>
Cc: Don Zickus <dzickus@...hat.com>,
Babu Moger <babu.moger@...cle.com>,
linux-kernel@...r.kernel.org, linuxppc-dev@...ts.ozlabs.org
Subject: Re: [PATCH v4 4/5] watchdog: provide watchdog_reconfigure() for
arch watchdogs
On Fri, 16 Jun 2017 11:24:07 -0700
Andrew Morton <akpm@...ux-foundation.org> wrote:
> On Fri, 16 Jun 2017 16:57:14 +1000 Nicholas Piggin <npiggin@...il.com> wrote:
>
> > After reconfiguring watchdog sysctls etc., architecture specific
> > watchdogs may not get all their parameters updated.
> >
> > watchdog_reconfigure() can be implemented to pull the new values
> > in and set the arch NMI watchdog.
> >
>
> I'll update the title and changelog to say "watchdog_nmi_reconfigure".
Thanks.
> > --- a/kernel/watchdog.c
> > +++ b/kernel/watchdog.c
> > @@ -123,6 +123,11 @@ void __weak watchdog_nmi_disable(unsigned int cpu)
> > {
> > }
> >
> > +void __weak watchdog_nmi_reconfigure(void)
> > +{
> > +}
>
> Can we please get some documentation in here describing what it's for?
> How arch maintainers might use this? When and why it is called, what
> it must do? etc.
Good point, how's this?
---
kernel/watchdog.c | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/kernel/watchdog.c b/kernel/watchdog.c
index 06cd965f64d2..36531025496f 100644
--- a/kernel/watchdog.c
+++ b/kernel/watchdog.c
@@ -114,6 +114,10 @@ int __read_mostly watchdog_suspended;
/*
* These functions can be overridden if an architecture implements its
* own hardlockup detector.
+ *
+ * watchdog_nmi_enable/disable can be implemented to start and stop when
+ * softlockup watchdog threads start and stop. The arch must select the
+ * SOFTLOCKUP_DETECTOR Kconfig.
*/
int __weak watchdog_nmi_enable(unsigned int cpu)
{
@@ -123,6 +127,17 @@ void __weak watchdog_nmi_disable(unsigned int cpu)
{
}
+/*
+ * watchdog_nmi_reconfigure can be implemented to be notified after any
+ * watchdog configuration change. The arch hardlockup watchdog should
+ * respond to the following variables:
+ * - nmi_watchdog_enabled
+ * - watchdog_thresh
+ * - watchdog_cpumask
+ * - sysctl_hardlockup_all_cpu_backtrace
+ * - hardlockup_panic
+ * - watchdog_suspended
+ */
void __weak watchdog_nmi_reconfigure(void)
{
}
--
2.11.0
Powered by blists - more mailing lists