linux/arch/x86_64
Eric W. Biederman 610142927b [PATCH] x86_64 irq: Safely cleanup an irq after moving it.
The problem:  After moving an interrupt when is it safe to teardown
the data structures for receiving the interrupt at the old location?

With a normal pci device it is possible to issue a read to a device
to flush all posted writes.  This does not work for the oldest ioapics
because they are on a 3-wire apic bus which is a completely different
data path.  For some more modern ioapics when everything is using
front side bus delivery you can flush interrupts by simply issuing a
read to the ioapic.  For other modern ioapics emperical testing has
shown that this does not work.

So it appears the only reliable way to know the last of the irqs from an
ioapic have been received from before the ioapic was reprogrammed is to
received the first irq from the ioapic from after it was reprogrammed.

Once we know the last irq message has been received from an ioapic
into a local apic we then need to know that irq message has been
processed through the local apics.

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-02-26 10:34:08 -08:00
..
boot [PATCH] x86-64: shorten the x86_64 boot setup GDT to what the comment says 2006-11-14 16:57:46 +01:00
crypto [CRYPTO] api: Get rid of flags argument to setkey 2006-09-21 11:41:02 +10:00
ia32 Merge branch 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6 2007-02-14 09:46:06 -08:00
kernel [PATCH] x86_64 irq: Safely cleanup an irq after moving it. 2007-02-26 10:34:08 -08:00
lib [PATCH] x86-64: Add __copy_from_user_nocache 2007-02-13 13:26:19 +01:00
mm Merge branch 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6 2007-02-14 09:46:06 -08:00
oprofile [PATCH] Move Kprobes and Oprofile to "Instrumentation Support" menu 2005-11-07 07:53:35 -08:00
pci [PATCH] mmconfig: fix unreachable_devices() 2007-02-13 13:26:20 +01:00
Kconfig [PATCH] time: x86_64: re-enable vsyscall support for x86_64 2007-02-16 08:14:00 -08:00
Kconfig.debug [PATCH] lockdep: irqtrace subsystem, x86_64 support 2006-07-03 15:27:03 -07:00
Makefile Remove stack unwinder for now 2006-12-15 08:47:51 -08:00
defconfig [PATCH] x86-64: Update defconfig 2007-02-13 13:26:19 +01:00