>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) >>
But now the timer will pop and the hard disk will get its irq. The guest will be released right after. >> 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. > I though of that but the problem is that we'd like to use it with current hardware devices that are shared. :( ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ kvm-devel mailing list kvm-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/kvm-devel