x86, ioapic: Document another case when level irq is seen as an edge
authorSuresh Siddha <suresh.b.siddha@intel.com>
Tue, 1 Dec 2009 23:31:17 +0000 (15:31 -0800)
committerIngo Molnar <mingo@elte.hu>
Wed, 2 Dec 2009 09:11:01 +0000 (10:11 +0100)
commit1c83995b6c7c6bb795bce80f75fbffb15f78db2d
tree51422514c921deddf957ff7ccdbbfb3bf54ecd9b
parentc29d9db338db606c3335a03f337e1d4b7f6bb727
x86, ioapic: Document another case when level irq is seen as an edge

In the case when cpu goes offline, fixup_irqs() will forward any
unhandled interrupt on the offlined cpu to the new cpu
destination that is handling the corresponding interrupt. This
interrupt forwarding is done via IPI's. Hence, in this case also
level-triggered io-apic interrupt will be seen as an edge
interrupt in the cpu's APIC IRR.

Document this scenario in the code which handles this case by doing
an explicit EOI to the io-apic to clear remote IRR of the io-apic RTE.

Requested-by: Maciej W. Rozycki <macro@linux-mips.org>
Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
Cc: Maciej W. Rozycki <macro@linux-mips.org>
Cc: ebiederm@xmission.com
Cc: garyhade@us.ibm.com
LKML-Reference: <20091201233335.143970505@sbs-t61.sc.intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/kernel/apic/io_apic.c