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 <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 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. -- 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