[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <64F9B87B6B770947A9F8391472E032160CC16D06@ehost011-8.exch011.intermedia.net>
Date: Wed, 18 Jul 2007 10:09:37 -0700
From: "Dor Laor" <dor.laor@...ranet.com>
To: "Avi Kivity" <avi@...ranet.com>,
"Alan Cox" <alan@...rguk.ukuu.org.uk>
Cc: <kvm-devel@...ts.sourceforge.net>, <linux-kernel@...r.kernel.org>
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)
>>
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.
:(
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists