Re: [patch 4/4] KVM-trace port to tracepoints

Anthony Liguori
2008-07-17T16:53:14Z

Hi Mathieu,

It's difficult to review your patches because they aren't inlined.

At any rate, this patches are unusable with SVM. They try to execute VT
instructions unconditionally. For instance, you changed:
>
> - KVMTRACE_1D(INTR, vcpu, vmcs_read32(VM_EXIT_INTR_INFO), handler);
> + trace_kvm_intr(vcpu);

Which lived in VT-specific code (vmx.c)

To:

> +static void probe_kvm_intr(struct kvm_vcpu *vcpu)
> +{
> + kvm_add_trace(KVM_TRC_INTR, vcpu, 1,
> + (u32 []){ vmcs_read32(VM_EXIT_INTR_INFO) });
> +}
> +

Which lives in common code (kvm_trace.c). But vmcs_read32() is
VT-specific and should not be used in common code so this motion is
wrong. Why not just pass more arguments to probe_kvm_intr()? Then your
first two patches can be dropped completely.

Regards,

Anthony Liguori

Mathieu Desnoyers wrote: