Re: NMI handling rework

Maciej W. Rozycki (macro@ds2.pg.gda.pl)
Thu, 7 Nov 2002 16:59:51 +0100 (MET)


On Thu, 7 Nov 2002, Corey Minyard wrote:

> >How? The NMI interrupt should be internally masked till IRET. I think your
> >code is ok, but i don't see how it takes care of concurrent users such as
> >oprofile and the nmi watchdog, the nmi watchdog already programs its own
> >interrupt interval if its shared, what is the intended base NMI interval?
> >How about handlers requiring a different interrupt interval? I have code
> >which does the following;
> >
> NMIs cannot be masked, they are by definition non-maskable :-). You can
> get an NMI while executing an NMI.

Not on the i386 family. Once an NMI is accepted by the CPU, it gets
internally masked until an iret instruction gets executed. If another NMI
happens maenwhile, it's latched by the processor internally and dispatched
as soon as NMIs are unmasked. Further NMIs received when masked are lost.

Check datasheets for details.

-- 
+  Maciej W. Rozycki, Technical University of Gdansk, Poland   +
+--------------------------------------------------------------+
+        e-mail: macro@ds2.pg.gda.pl, PGP key available        +

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