On Sun, Apr 28, 2013 at 12:20:12PM +0200, Jan Kiszka wrote: > On 2013-04-28 12:19, Gleb Natapov wrote: > > On Sun, Apr 28, 2013 at 12:15:05PM +0200, Jan Kiszka wrote: > >> On 2013-03-17 09:47, Gleb Natapov wrote: > >>> On Sat, Mar 16, 2013 at 09:49:07PM +0100, Jan Kiszka wrote: > >>>> From: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> > >>>> > >>>> If the guest didn't take the last APIC timer interrupt yet and generates > >>>> another one on top, e.g. via periodic mode, we do not block the VCPU > >>>> even if the guest state is halted. The reason is that > >>>> apic_has_pending_timer continues to return a non-zero value. > >>>> > >>>> Fix this busy loop by taking the IRR content for the LVT vector in > >>>> apic_has_pending_timer into account. > >>>> > >>> Just drop coalescing tacking for lapic interrupt. After posted interrupt > >>> will be merged __apic_accept_irq() will not longer return coalescing > >>> information, so the code will be dead anyway. > >> > >> If I understood the follow-up discussion correctly, we aren't dropping > >> de-coalescing support yet. So how to proceed with this fix here? > >> > > We do. It does not work if you run on CPU with apicv support already. > > But isn't the code still there and working when apicv is absent? > Remove it as a fix for busy loop. It is not a good idea to behave differently on different types of hardware. -- 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