Re: Cleanups for APIC

From: Maciej W. Rozycki
Date: Thu May 27 2004 - 09:28:47 EST


On Thu, 27 May 2004, Ingo Molnar wrote:

> > The I/O APIC need not be hooked to PCI ;-) -- I'm not sure about the
> > i82093AA, but that's definitely true for the i82489DX. The call to
> > io_apic_sync() is needed for masking to make sure interrupts won't be
> > dispatched after returning from the call -- this is not needed for
> > unmasking as a delay here is harmless.
>
> well, an APIC message could be on the way to the CPU even with this
> synchronization. Does it matter whether it's a newly dispatched one due
> to POST delays or an in-fly one due to APIC bus delays?

Well, if you'd mask, sync, ack (send EOI) in a handler, then the sync
would assure the ack wouldn't be in effect before masking, so no further
interrupt would arrive till unmasking. It would work for level-triggered
interrupts and the i82093AA, but OTOH for the i82489DX, which uses
level-deassert messages, it wouldn't.

Too much hassle for an unreliable result... Just scrap it.

--
+ Maciej W. Rozycki, Technical University of Gdansk, Poland +
+--------------------------------------------------------------+
+ e-mail: macro@xxxxxxxxxxxxx, PGP key available +
-
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/