Re: [RFC PATCH 0/4] Clean up watchdog handlers

From: Don Zickus
Date: Mon Oct 31 2016 - 17:01:40 EST


On Wed, Oct 26, 2016 at 09:02:19AM -0700, Babu Moger wrote:
> This is an attempt to cleanup watchdog handlers. Right now,
> kernel/watchdog.c implements both softlockup and hardlockup detectors.
> Softlockup code is generic. Hardlockup code is arch specific. Some
> architectures don't use hardlockup detectors. They use their own watchdog
> detectors. To make both these combination work, we have numerous #ifdefs
> in kernel/watchdog.c.
>
> We are trying here to make these handlers independent of each other.
> Also provide an interface for architectures to implement their own
> handlers. watchdog_nmi_enable and watchdog_nmi_disable will be defined
> as weak such that architectures can override its definitions.
>
> Thanks to Don Zickus for his suggestions.
> Here is the previous discussion
> http://www.spinics.net/lists/sparclinux/msg16441.html

Hi Babu,

I finally got some cycles to poke at this today. Good work. A couple of
suggestions. For bisectability, I am thinking patch2 should be first and
patch1 and patch3 should be combined. Also watchdog_hld.c is going to need
up top:

#define pr_fmt(fmt) "NMI watchdog: " fmt

otherwise the error messages miss the header.

Though I don't think watchdog.c and watchdog_hld.c should have the same
header. A good solution isn't coming to me right now. I will try to run
some tests on this tomorrow.


Cheers,
Don

>
> Babu Moger (4):
> watchdog: Remove hardlockup handler references
> watchdog: Move shared definitions to nmi.h
> watchdog: Move hardlockup detector in separate file
> sparc: Implement watchdog_nmi_enable and watchdog_nmi_disable
>
> arch/sparc/kernel/nmi.c | 44 ++++++++-
> include/linux/nmi.h | 19 ++++
> kernel/Makefile | 1 +
> kernel/watchdog.c | 276 ++---------------------------------------------
> kernel/watchdog_hld.c | 238 ++++++++++++++++++++++++++++++++++++++++
> 5 files changed, 312 insertions(+), 266 deletions(-)
> create mode 100644 kernel/watchdog_hld.c
>