On 15/12/2014 23:06, Marcelo Tosatti wrote: > Add tracepoint to wait_lapic_expire. > > Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> > > 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@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html > -- 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