On Wed, Apr 11, 2012 at 11:03:18PM -0300, Marcelo Tosatti wrote: > On Wed, Apr 11, 2012 at 06:49:55PM +0300, Michael S. Tsirkin wrote: > > Intel spec says that TMR needs to be set/cleared > > when IRR is set, but kvm also clears it on EOI. > > > > I did some tests on a real (AMD based) system, > > and I see same TMR values both before > > and after EOI, so I think it's a minor bug in kvm. > > > > This patch fixes TMR to be set/cleared on IRR set > > only as per spec. > > > > And now that we don't clear TMR, we can save > > an atomic read of TMR on EOI that's not propagated > > to ioapic, by checking whether ioapic needs > > a specific vector first and calculating > > the mode afterwards. > > > > Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> > > --- > > arch/x86/kvm/lapic.c | 19 +++++++++++++------ > > virt/kvm/ioapic.c | 10 +++++++--- > > virt/kvm/ioapic.h | 1 + > > 3 files changed, 21 insertions(+), 9 deletions(-) > > Looks OK, ioapic_service -> accept_apic_irq will set TMR > again if IRR is raised. Gleb, can you review please? > Looks good to me. -- 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