From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marcelo Tosatti Subject: Re: [PATCH] KVM: x86: Avoid busy loops over uninjectable pending APIC timers Date: Thu, 21 Mar 2013 20:06:41 -0300 Message-ID: <20130321230641.GA22645@amt.cnet> References: <20130320200319.GA16367@amt.cnet> <20130320213238.GB9382@redhat.com> <20130320231913.GA2319@amt.cnet> <20130321045446.GC9382@redhat.com> <20130321140224.GA29237@amt.cnet> <20130321141853.GU3889@redhat.com> <20130321162732.GF9382@redhat.com> <20130321205150.GA17295@amt.cnet> <20130321211339.GH9382@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: "Zhang, Yang Z" , Jan Kiszka , kvm To: Gleb Natapov Return-path: Received: from mx1.redhat.com ([209.132.183.28]:58115 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754014Ab3CUXGr (ORCPT ); Thu, 21 Mar 2013 19:06:47 -0400 Content-Disposition: inline In-Reply-To: <20130321211339.GH9382@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: On Thu, Mar 21, 2013 at 11:13:39PM +0200, Gleb Natapov wrote: > On Thu, Mar 21, 2013 at 05:51:50PM -0300, Marcelo Tosatti wrote: > > > > > But current PI patches do break them, thats my point. So we either > > > > > need to revise them again, or drop LAPIC timer reinjection. Making > > > > > apic_accept_irq semantics "it returns coalescing info, but only sometimes" > > > > > is dubious though. > > > > We may rollback to the initial idea: test both irr and pir to get coalescing info. In this case, inject LAPIC timer always in vcpu context. So apic_accept_irq() will return right coalescing info. > > > > Also, we need to add comments to tell caller, apic_accept_irq() can ensure the return value is correct only when caller is in target vcpu context. > > > > > > > We cannot touch irr while vcpu is in non-root operation, so we will have > > > to pass flag to apic_accept_irq() to let it know that it is called > > > synchronously. While all this is possible I want to know which guests > > > exactly will we break if we will not track interrupt coalescing for > > > lapic timer. If only 2.0 smp kernels will break we can probably drop it. > > > > RHEL4 / RHEL5 guests. > RHEL5 has kvmclock no? We should not break RHEL4 though. kvmclock provides no timer interrupt... either LAPIC or PIT must be used with kvmclock.