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

From: Gleb Natapov
Date: Tue Aug 14 2012 - 06:13:50 EST


On Tue, Aug 14, 2012 at 01:10:15PM +0300, Gleb Natapov wrote:
> On Tue, Aug 14, 2012 at 01:52:13AM +0300, Michael S. Tsirkin wrote:
> > > 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.
>
Can be probably solved using mask notifiers, although I'd rather delete
them than add new users.

--
Gleb.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/