From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marcelo Tosatti Subject: Re: [patch 3/3] KVM: x86: add tracepoint to wait_lapic_expire Date: Tue, 16 Dec 2014 10:15:56 -0200 Message-ID: <20141216121556.GA28966@amt.cnet> References: <20141215220605.806000829@redhat.com> <20141215220917.035037123@redhat.com> <548FF56B.9020709@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: kvm@vger.kernel.org, Luiz Capitulino , Rik van Riel , Radim Krcmar To: Paolo Bonzini Return-path: Received: from mx1.redhat.com ([209.132.183.28]:45212 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750851AbaLPMQK (ORCPT ); Tue, 16 Dec 2014 07:16:10 -0500 Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id sBGCGAlo032759 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL) for ; Tue, 16 Dec 2014 07:16:10 -0500 Content-Disposition: inline In-Reply-To: <548FF56B.9020709@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: On Tue, Dec 16, 2014 at 10:03:39AM +0100, Paolo Bonzini wrote: > > > On 15/12/2014 23:06, Marcelo Tosatti wrote: > > Add tracepoint to wait_lapic_expire. > > > > Signed-off-by: Marcelo Tosatti > > > > Index: kvm/arch/x86/kvm/lapic.c > > =================================================================== > > --- kvm.orig/arch/x86/kvm/lapic.c > > +++ kvm/arch/x86/kvm/lapic.c > > @@ -1121,6 +1121,7 @@ void wait_lapic_expire(struct kvm_vcpu * > > { > > struct kvm_lapic *apic = vcpu->arch.apic; > > u64 guest_tsc, tsc_deadline; > > + unsigned int total_delay = 0; > > > > if (!kvm_vcpu_has_lapic(vcpu)) > > return; > > @@ -1138,9 +1139,13 @@ void wait_lapic_expire(struct kvm_vcpu * > > while (guest_tsc < tsc_deadline) { > > int delay = min(tsc_deadline - guest_tsc, 1000ULL); > > > > + total_delay += delay; > > + > > __delay(delay); > > guest_tsc = kvm_x86_ops->read_l1_tsc(vcpu, native_read_tsc()); > > } > > + > > + trace_kvm_wait_lapic_expire(vcpu->vcpu_id, total_delay); > > Let's add guest_tsc - tsc_deadline to the tracepoint. This should > simplify the tuning of the parameter. > > Paolo total_delay is very close to that, except the summands are 1000 + 1000 + ... + "remainder" Yes? BTW its very easy to tune the parameter with the kvm-unit-test test (the optimal value is clear). I'll write a document.