From mboxrd@z Thu Jan 1 00:00:00 1970 From: Radim Krcmar Subject: Re: [patch 3/3] KVM: x86: add tracepoint to wait_lapic_expire Date: Wed, 17 Dec 2014 16:06:04 +0100 Message-ID: <20141217150600.GA31053@potion.redhat.com> References: <20141216140813.493421022@redhat.com> <20141216140853.767043716@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: QUOTED-PRINTABLE Cc: kvm@vger.kernel.org, Luiz Capitulino , Rik van Riel , Paolo Bonzini To: Marcelo Tosatti Return-path: Received: from mx1.redhat.com ([209.132.183.28]:43224 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750900AbaLQPGI (ORCPT ); Wed, 17 Dec 2014 10:06:08 -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 sBHF68JN004476 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL) for ; Wed, 17 Dec 2014 10:06:08 -0500 Content-Disposition: inline In-Reply-To: <20141216140853.767043716@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: 2014-12-16 09:08-0500, Marcelo Tosatti: > Add tracepoint to wait_lapic_expire. >=20 > Signed-off-by: Marcelo Tosatti Reviewed-by: Radim Kr=C4=8Dm=C3=A1=C5=99 > +++ kvm/arch/x86/kvm/lapic.c > @@ -1120,7 +1120,7 @@ static bool lapic_timer_int_injected(str > void wait_lapic_expire(struct kvm_vcpu *vcpu) > { > struct kvm_lapic *apic =3D vcpu->arch.apic; > - u64 guest_tsc, tsc_deadline; > + u64 orig_guest_tsc, guest_tsc, tsc_deadline; > =20 > if (!kvm_vcpu_has_lapic(vcpu)) > return; > @@ -1133,7 +1133,7 @@ void wait_lapic_expire(struct kvm_vcpu * > =20 > tsc_deadline =3D apic->lapic_timer.expired_tscdeadline; > apic->lapic_timer.expired_tscdeadline =3D 0; > - guest_tsc =3D kvm_x86_ops->read_l1_tsc(vcpu, native_read_tsc()); > + orig_guest_tsc =3D guest_tsc =3D kvm_x86_ops->read_l1_tsc(vcpu, nat= ive_read_tsc()); (We could move the tracepoint here and save orig_guest_tsc.) > while (guest_tsc < tsc_deadline) { > int delay =3D min(tsc_deadline - guest_tsc, 1000ULL); > @@ -1141,6 +1141,8 @@ void wait_lapic_expire(struct kvm_vcpu * > __delay(delay); > guest_tsc =3D kvm_x86_ops->read_l1_tsc(vcpu, native_read_tsc()); > } > + > + trace_kvm_wait_lapic_expire(vcpu->vcpu_id, orig_guest_tsc - tsc_dea= dline); > } > =20