[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] a possible chance to lost pending interrupt in latest pv tip
Just found that enable_irq/mdelay/disable_irq has been removed from fixup_irqs in latest tip, which is the key path to migrate irqs to other cpus when current one is being hot removed. The new logic tries to poll local APIC IRR for pending interrupt check, which is not desired to Xen. My gut-feeling is that we'll lose pending events on local vcpu since apic_read is a dummy ops. Or do I overlook it? commit 5231a68614b94f60e8f6c56bc6e3d75955b9e75e Author: Suresh Siddha <suresh.b.siddha@xxxxxxxxx> Date: Mon Oct 26 14:24:36 2009 -0800 x86: Remove local_irq_enable()/local_irq_disable() in fixup_irqs() To ensure that we handle all the pending interrupts (destined for this cpu that is going down) in the interrupt subsystem before the cpu goes offline, fixup_irqs() does: local_irq_enable(); mdelay(1); local_irq_disable(); Enabling interrupts is not a good thing as this cpu is already offline. So this patch replaces that logic with, mdelay(1); check APIC_IRR bits Retrigger the irq at the new destination if any interrupt has arrived via IPI. For IO-APIC level triggered interrupts, this retrigger IPI will appear as an edge interrupt. ack_apic_level() will detect this condition and IO-APIC RTE's remoteIRR is cleared using directed EOI(using IO-APIC EOI register) on Intel platforms and for others it uses the existing mask+edge logic followed by unmask+level. We can also remove mdelay() and then send spuriuous interrupts to new cpu targets for all the irqs that were handled previously by this cpu that is going offline. While it works, I have seen spurious interrupt messages (nothing wrong but still annoying messages during cpu offline, which can be seen during suspend/resume etc) Signed-off-by: Suresh Siddha <suresh.b.siddha@xxxxxxxxx> Acked-by: Gary Hade <garyhade@xxxxxxxxxx> Cc: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> LKML-Reference: <20091026230002.043281924@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxx> _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |