From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paolo Bonzini Subject: Re: [patch 3/3] KVM: x86: add tracepoint to wait_lapic_expire Date: Tue, 16 Dec 2014 10:03:39 +0100 Message-ID: <548FF56B.9020709@redhat.com> References: <20141215220605.806000829@redhat.com> <20141215220917.035037123@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Cc: Luiz Capitulino , Rik van Riel , Radim Krcmar To: Marcelo Tosatti , kvm@vger.kernel.org Return-path: Received: from mail-wi0-f175.google.com ([209.85.212.175]:36948 "EHLO mail-wi0-f175.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750823AbaLPJDp (ORCPT ); Tue, 16 Dec 2014 04:03:45 -0500 Received: by mail-wi0-f175.google.com with SMTP id l15so11491994wiw.14 for ; Tue, 16 Dec 2014 01:03:44 -0800 (PST) In-Reply-To: <20141215220917.035037123@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: 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 > } > > static void start_apic_timer(struct kvm_lapic *apic) > Index: kvm/arch/x86/kvm/trace.h > =================================================================== > --- kvm.orig/arch/x86/kvm/trace.h > +++ kvm/arch/x86/kvm/trace.h > @@ -914,6 +914,25 @@ TRACE_EVENT(kvm_pvclock_update, > __entry->flags) > ); > > +TRACE_EVENT(kvm_wait_lapic_expire, > + TP_PROTO(unsigned int vcpu_id, unsigned int total_delay), > + TP_ARGS(vcpu_id, total_delay), > + > + TP_STRUCT__entry( > + __field( unsigned int, vcpu_id ) > + __field( unsigned int, total_delay ) > + ), > + > + TP_fast_assign( > + __entry->vcpu_id = vcpu_id; > + __entry->total_delay = total_delay; > + ), > + > + TP_printk("vcpu %u: total_delay %u", > + __entry->vcpu_id, > + __entry->total_delay) > +); > + > #endif /* _TRACE_KVM_H */ > > #undef TRACE_INCLUDE_PATH > > > -- > To unsubscribe from this list: send the line "unsubscribe kvm" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html >