On 31/07/2015 04:49, Steve Rutherford wrote: > Oh... Yeah. That's a damn good point, given that the interrupt can be > injected from another thread while one is in that guest vcpu. > > Easiest time to update the TMR should be on guest entry through > vcpu_scan_ioapic, as before. > > The best way to go is probably to ditch the new per vcpu EOI exit > bitmap, and just update/use the TMR. There's no reason to duplicate > that data in the representation of the apic (I suspect that the > duplication was inspired by my mistaken notion of the TMR). The > IOAPIC exit check can use the TMR instead. > > Based upon my reading of the SDM, the only reason that the eoi exit > bitmaps are not the exact same as the TMR is that it is possible to > have virtual-interrupt delivery enabled /without/ an apic access page > (Note: V-ID => EOI exit bitmap enabled). > > Yang, do you happen to know if that is the case? > > [Note: Just looked back at the old code for updating the EOI exit > bitmaps, which for some reason was configured to trigger EOI exits > for all IOAPIC interrupts, not just level-triggered IOAPIC > interrupts. Which is weird, and I believe totally unecessary.] The RTC interrupt needs to trigger an EOI exit with the in-kernel IOAPIC, in order to detect coalesced interrupts. This is necessary to avoid severe time drift in Windows guest. Paolo -- 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