Re: [PATCH 5/6] x86, nmi: Move default external NMI handler to its own routine

Peter Zijlstra
2014-05-21T18:18:04Z

On Wed, May 21, 2014 at 12:48:48PM -0400, Don Zickus wrote:
> On Wed, May 21, 2014 at 12:38:46PM +0200, Peter Zijlstra wrote:
> > On Thu, May 15, 2014 at 03:25:48PM -0400, Don Zickus wrote:
> > > Now that we have setup an NMI subtye called NMI_EXT, there is really
> > > no need to hard code the default external NMI handler in the main
> > > nmi handler routine.
> > >
> > > Move it to a proper function and register it on boot. This change is
> > > just code movement.
> > >
> > > In addition, update the hpwdt to allow it to unregister the default
> > > handler on its registration (and vice versa). This allows the driver
> > > to take control of that io port (which it ultimately wanted to do
> > > originally), but in a cleaner way.
> >
> > wanting that is one thing, but is it also a sane thing? You don't do
> > thing just because drivers want it.
>
> Heh. I understand.
>
> Today, I have hacked up the SERR and IOCHK handlers to give hpwdt the
> chance to do its 'magic' bios call to collect information before
> panic'ing.
>
> I was trying to clean things up by removing those hacks, but I guess I can
> see your point, there is no guarantee they handle the hardware correctly.
> :-/

So while I'll leave the decision to the x86 people, I find the changelog
entirely devoid of a good reason to do this.

An in my personal opinion any hardware that triggers non detectable NMIs
is just plain broken.