Messages in this thread | | | Date | Wed, 18 Jul 2007 19:46:13 +0300 | From | Avi Kivity <> | Subject | Re: [kvm-devel] [RFC] Deferred interrupt handling. |
| |
Alan Cox wrote: >> What if we will force the specific device to the end of the list. Once >> IRQ_NONE was returned by the other devices, we will mask the irq, >> forward the irq to the guest, issue a timer for 1msec. Motivation: >> 1msec is long enough for the guest to ack the irq + host unmask the irq >> > > It makes no difference. The deadlock isn't fixable by timing hacks. > Consider the following sequence > > > Guest0 - blocked on I/O > > IRQ14 from your hardware > Block IRQ14 > Sent to guest (guest is blocked) > > IRQ14 from hard disk > Ignored (as blocked) > > Deadlock >
IMO the only reasonable solution is to disallow interrupt forwarding with shared irqs. If someone later comes up with a bright idea, we can implement it. Otherwise the problem will solve itself with hardware moving to msi.
-- Do not meddle in the internals of kernels, for they are subtle and quick to panic.
- 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/
| |