Re: [PATCH 2/2] x86: introduce NMI_AUTO as nmi_watchdog option

From: Ingo Molnar
Date: Wed Nov 04 2009 - 06:46:51 EST

* Aristeu Rozanski <aris@xxxxxxxxxx> wrote:

> NMI_AUTO is a new nmi_watchdog option that makes LAPIC be tried first
> and if the CPU isn't supported, IOAPIC will be used. It's useful in
> cases where NMI watchdog is enabled by default in a kernel built for
> different machines. It can be configured by default or selected with
> nmi_watchdog=3 or nmi_watchdog=auto parameters.

What i'd like to see for the NMI watchdog is much more ambitious than
this: the use of perf events to run a periodic NMI callback.

The NMI watchdog would cause the creation of a per-cpu perf_event
structure (in-kernel). All x86 CPUs that have perf event support (the
majority of them) will thus be able to have an NMI watchdog using a
nice, generic piece of code and we'd be able to phase out the open-coded
NMI watchdog code.

The user would not notice much from this: we'd still have the
/proc/sys/kernel/nmi_watchdog toggle to turn it on/off, and we'd still
have the nmi_watchog= boot parameter as well. But the underlying
implementation would be far more generic and far more usable than the
current code.

Would you be interested in moving the NMI watchdog code in this
direction? Most of the perf events changes (callbacks, helpers for
in-kernel event allocations, etc.) are in latest -tip already, so you
could use that as a base.

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at