Re: [PATCH -v3 3/6] x86, NMI, Rewrite NMI handler

From: Huang Ying
Date: Tue Oct 12 2010 - 02:14:49 EST


On Tue, 2010-10-12 at 14:04 +0800, Peter Zijlstra wrote:
> On Tue, 2010-10-12 at 08:50 +0800, Huang Ying wrote:
> > On Tue, 2010-10-12 at 00:13 +0800, Peter Zijlstra wrote:
> > > On Sat, 2010-10-09 at 14:49 +0800, Huang Ying wrote:
> > > > notify_die(DIE_NMI_IPI);
> > > > notify_die(DIE_NMI);
> > > > /* process io port 0x61 */
> > > > nmi_watchdog_touch();
> > > > unknown_nmi();
> > >
> > > Why keep NMI_IPI? What the heck is it for?
> >
> > DIE_NMI_IPI is used for CPU-specific or CPU-local NMIs, such as perf
> > NMI. While DIE_NMI is used for non-CPU-specific or global NMIs, such as
> > NMI notification from source bridge.
> >
> > The order between these two is important. So we use two die value to
> > enforce the order.
>
> But you can't know about that, there is no reason field to distinguish
> between these cases, so you might as well fold it into a single notifier
> chain and be done with it.

NMI users know that. Such as perf uses CPU-specific NMI, while APEI GHES
uses non-CPU-specific NMI. Different users expect different die values,
such as perf expects DIE_NMI_IPI, while APEI GHES expects DIE_NMI, so
that perf can be checked before APEI GHES.

> There is no good reason to call two chains when one is enough.
>
> Also, the IPI name is terrible, its not IPI related at all. Please kill
> the thing.

I agree with you that IPI is not a good name. Can you suggest a better
name?

Best Regards,
Huang Ying


--
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/