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 kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html