Re: [RFC PATCH 12/23] kernel/watchdog: Introduce a struct for NMI watchdog operations
From: Peter Zijlstra <peterz@infradead.org>
Date: 2018-06-13 08:42:51
Also in:
linux-iommu, lkml, sparclinux
From: Peter Zijlstra <peterz@infradead.org>
Date: 2018-06-13 08:42:51
Also in:
linux-iommu, lkml, sparclinux
On Wed, Jun 13, 2018 at 05:41:41PM +1000, Nicholas Piggin wrote:
On Tue, 12 Jun 2018 17:57:32 -0700 Ricardo Neri [off-list ref] wrote:quoted
Instead of exposing individual functions for the operations of the NMI watchdog, define a common interface that can be used across multiple implementations. The struct nmi_watchdog_ops is defined for such operations. These initial definitions include the enable, disable, start, stop, and cleanup operations. Only a single NMI watchdog can be used in the system. The operations of this NMI watchdog are accessed via the new variable nmi_wd_ops. This variable is set to point the operations of the first NMI watchdog that initializes successfully. Even though at this moment, the only available NMI watchdog is the perf-based hardlockup detector. More implementations can be added in the future.Cool, this looks pretty nice at a quick glance. sparc and powerpc at least have their own NMI watchdogs, it would be good to have those converted as well.
Yeah, agreed, this looks like half a patch.
Is hpet a cross platform thing, or just x86? We should avoid proliferation of files under kernel/ I think, so with these watchdog driver structs then maybe implementations could go in drivers/ or arch/
HPET is mostly an x86 thing (altough it can be found elsewhere), but the whole thing relies on the x86 NMI mechanism and is thus firmly arch/ material (like the sparc and ppc thing).