[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20250402082833.9835-3-amit@kernel.org>
Date: Wed, 2 Apr 2025 10:28:33 +0200
From: Amit Shah <amit@...nel.org>
To: linux-kernel@...r.kernel.org,
kvm@...r.kernel.org,
x86@...nel.org,
linux-doc@...r.kernel.org
Cc: amit.shah@....com,
thomas.lendacky@....com,
bp@...en8.de,
tglx@...utronix.de,
peterz@...radead.org,
jpoimboe@...nel.org,
pawan.kumar.gupta@...ux.intel.com,
corbet@....net,
mingo@...hat.com,
dave.hansen@...ux.intel.com,
hpa@...or.com,
seanjc@...gle.com,
pbonzini@...hat.com,
daniel.sneddon@...ux.intel.com,
kai.huang@...el.com,
sandipan.das@....com,
boris.ostrovsky@...cle.com,
Babu.Moger@....com,
david.kaplan@....com,
dwmw@...zon.co.uk,
andrew.cooper3@...rix.com
Subject: [RFC PATCH v4 2/2] debug: add tracepoint for flush_rap_on_vmrun
From: Amit Shah <amit.shah@....com>
---
arch/x86/kvm/svm/svm.c | 4 +++-
arch/x86/kvm/trace.h | 16 ++++++++++++++++
arch/x86/kvm/x86.c | 1 +
3 files changed, 20 insertions(+), 1 deletion(-)
diff --git a/arch/x86/kvm/svm/svm.c b/arch/x86/kvm/svm/svm.c
index b5de6341080b..c47d4dfcc1d4 100644
--- a/arch/x86/kvm/svm/svm.c
+++ b/arch/x86/kvm/svm/svm.c
@@ -3607,8 +3607,10 @@ static int svm_handle_exit(struct kvm_vcpu *vcpu, fastpath_t exit_fastpath)
trace_kvm_nested_vmexit(vcpu, KVM_ISA_SVM);
- if (vmcb_is_extended_rap(svm->vmcb01.ptr))
+ if (vmcb_is_extended_rap(svm->vmcb01.ptr)) {
vmcb_flush_guest_rap(svm->vmcb01.ptr);
+ trace_kvm_svm_eraps_flush_rap(svm->vmcb01.ptr);
+ }
vmexit = nested_svm_exit_special(svm);
diff --git a/arch/x86/kvm/trace.h b/arch/x86/kvm/trace.h
index ccda95e53f62..059dfc744a22 100644
--- a/arch/x86/kvm/trace.h
+++ b/arch/x86/kvm/trace.h
@@ -346,6 +346,22 @@ TRACE_EVENT(name, \
*/
TRACE_EVENT_KVM_EXIT(kvm_exit);
+TRACE_EVENT(kvm_svm_eraps_flush_rap, \
+ TP_PROTO(struct vmcb *vmcb), \
+ TP_ARGS(vmcb), \
+ \
+ TP_STRUCT__entry( \
+ __field( struct vmcb *, vmcb ) \
+ ), \
+ \
+ TP_fast_assign( \
+ __entry->vmcb = vmcb; \
+ ), \
+ \
+ TP_printk("vmcb: 0x%p", \
+ __entry->vmcb) \
+)
+
/*
* Tracepoint for kvm interrupt injection:
*/
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index c841817a914a..414a0e6c9c4b 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -14024,6 +14024,7 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(kvm_vmgexit_exit);
EXPORT_TRACEPOINT_SYMBOL_GPL(kvm_vmgexit_msr_protocol_enter);
EXPORT_TRACEPOINT_SYMBOL_GPL(kvm_vmgexit_msr_protocol_exit);
EXPORT_TRACEPOINT_SYMBOL_GPL(kvm_rmp_fault);
+EXPORT_TRACEPOINT_SYMBOL_GPL(kvm_svm_eraps_flush_rap);
static int __init kvm_x86_init(void)
{
--
2.49.0
Powered by blists - more mailing lists