Thread (46 messages) 46 messages, 4 authors, 2012-08-15

Re: [PATCH v7 2/2] kvm: KVM_EOIFD, an eventfd for EOIs

From: Gleb Natapov <hidden>
Date: 2012-08-14 10:10:23
Also in: lkml

On Tue, Aug 14, 2012 at 01:52:13AM +0300, Michael S. Tsirkin wrote:
quoted
Using the EOI as a trigger to de-assert and potentially re-assert may be
a hack, but it's about as close as we can come to following the behavior
of hardware.
It's actually quite similar to an apic re-sampling inputs
except we don't have a physical line to read and see that it's still
asserted.  We emulate this by de-asserting it and letting it re-assert
if necessary.  The emulation to the guest isn't perfect, but it's a lot
closer than immediately de-asserting the pin.
I think the discussion
below describes why I do this versus something that might be even closer
to actual hardware.
Sorry I don't understand what "quite similar" means.  If deassert on ack
is "closer" somehow show me some software that needs it.
This is incorrect question to ask. The correct one is "is there guest
visible effect" and the answer is yes. If guest reads ioapic irr before
eoi it will incorrectly read zero. Now when we know what is guest visible
effect we can think about whether we can live with it. But it looks like
we can't since this have more serious implications. If interrupt is masked
in ioapic during irq delivery interrupt will be never delivered after unmask.

--
			Gleb.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help