Re: introduce NMI_AUTO as nmi_watchdog option

From: Ingo Molnar
Date: Wed Jan 13 2010 - 04:32:56 EST



* Don Zickus <dzickus@xxxxxxxxxx> wrote:

> On Mon, Jan 11, 2010 at 11:27:29PM +0300, Cyrill Gorcunov wrote:
> > On Mon, Jan 11, 2010 at 02:16:33PM -0500, Don Zickus wrote:
> > > Hi Ingo,
> > >
> > ...
> > > I was going to jump in and try to do this work. I wanted to make sure
> > > what you were looking for here. When you say convert nmi watchdog to perf
> > > events, I assume you mean merging over the bits of perfctr-watchdog.c to
> > > perf_events.c, modify nmi.c to just register as a normal perf event and
> > > probably cleanup the oprofile stuff to match, correct?
> > >
> > > Cheers,
> > > Don
> > >
> >
> > As far as I know -- converting perfctr-watchdog.c to into perfevents
> > style would be quite a desirable feature. But I still didn't manage to
> > find time for this task :( If you're interested to start this work
> > -- that would be just great!
>
> After looking through the code I just had some questions, perhaps you have
> thought about this longer than me, what to do with the reservation code
> (just remove it I assume and let perf_events _be_ the only code that
> handles perf events) and what to do with some of the cpu quirks as noted in
> perfctr-watchdog.c (notable some of the Intel errata for the Core chipsets).

Given the amount of quirks in the perctr code it might make sense to shape
this as a new feature initially: introduce a new NMI watchdog that is perf
based and has a different codebase.

Then, once it's capable enough and has been in circulation long enough we can
simply drop the old NMI watchdog. (without users noticing anything [modulo
bugs])

v1 should concentrate on x86 CPUs that are supported by perf currently. Note,
it _might_ make sense to do it via a new kernel/nmi_watchdog.c file - other
architectures have NMI concepts as well, such as Sparc64. A further idea would
be to maybe even merge it with the softlockup code in kernel/softlockup.c - so
that we dont have two sets of apis like touch_nmi_watchdog and
touch_softlockup_watchdog.

So there's a wide spectrum of possibilities - the important thing is to start
small :-)

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/