Commit f5714bbb authored by Vitaly Kuznetsov's avatar Vitaly Kuznetsov Committed by Paolo Bonzini
Browse files

KVM: x86: Introduce trace_kvm_hv_hypercall_done()



Hypercall failures are unusual with potentially far going consequences
so it would be useful to see their results when tracing.

Signed-off-by: default avatarVitaly Kuznetsov <vkuznets@redhat.com>
Reviewed-by: default avatarSiddharth Chandrasekaran <sidcha@amazon.de>
Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
Message-Id: <20210730122625.112848-3-vkuznets@redhat.com>
Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
parent 2e2f1e8d
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -2016,6 +2016,7 @@ static void kvm_hv_hypercall_set_result(struct kvm_vcpu *vcpu, u64 result)

static int kvm_hv_hypercall_complete(struct kvm_vcpu *vcpu, u64 result)
{
	trace_kvm_hv_hypercall_done(result);
	kvm_hv_hypercall_set_result(vcpu, result);
	++vcpu->stat.hypercalls;
	return kvm_skip_emulated_instruction(vcpu);
+15 −0
Original line number Diff line number Diff line
@@ -92,6 +92,21 @@ TRACE_EVENT(kvm_hv_hypercall,
		  __entry->outgpa)
);

TRACE_EVENT(kvm_hv_hypercall_done,
	TP_PROTO(u64 result),
	TP_ARGS(result),

	TP_STRUCT__entry(
		__field(__u64, result)
	),

	TP_fast_assign(
		__entry->result	= result;
	),

	TP_printk("result 0x%llx", __entry->result)
);

/*
 * Tracepoint for Xen hypercall.
 */