Re:  [PATCH v2 2/3] RISC-V: KVM: add tracepoints fo r guest page faults

Anup Patel <[email protected]>
Newsgroups org.infradead.lists.kvm-riscv,org.infradead.lists.linux-riscv,org.kernel.vger.kvm,org.kernel.vger.linux-kernel
Message-ID <CAAhSdy2qqpZ6qucwsuRZWnKgno03Ok4czv8RTgpjA73i+yFhng@mail.gmail.com>
On Wed, Apr 29, 2026 at 3:05 PM <[email protected]> wrote:
>
> From: Wang Yechao <[email protected]>
>
>
> Add the kvm_page_fault event tracepoints to count the number of KVM
>
> guest page faults.
>
>
> Signed-off-by: Wang Yechao <[email protected]>

Lot of redundant newlines in this patch. Looks like this patch
was not sent using "git send-email".

Regards,
Anup


>
> ---
>
>  arch/riscv/kvm/trace.h     | 25 +++++++++++++++++++++++++
>
>  arch/riscv/kvm/vcpu_exit.c |  3 +++
>
>  2 files changed, 28 insertions(+)
>
>
> diff --git a/arch/riscv/kvm/trace.h b/arch/riscv/kvm/trace.h
>
> index 3d54175d805c..9056cc9883cf 100644
>
> --- a/arch/riscv/kvm/trace.h
>
> +++ b/arch/riscv/kvm/trace.h
>
> @@ -56,6 +56,31 @@ TRACE_EVENT(kvm_exit,
>
>   __entry->htinst)
>
>  );
>
>
>
> +/*
>
> + * Tracepoint for page fault.
>
> + */
>
> +TRACE_EVENT(kvm_page_fault,
>
> + TP_PROTO(struct kvm_vcpu *vcpu, u64 fault_address, u64 error_code),
>
> + TP_ARGS(vcpu, fault_address, error_code),
>
> +
>
> + TP_STRUCT__entry(
>
> + __field(unsigned int,   vcpu_id)
>
> + __field(u64,            fault_address)
>
> + __field(u64,            error_code)
>
> + ),
>
> +
>
> + TP_fast_assign(
>
> + __entry->vcpu_id        = vcpu->vcpu_id;
>
> + __entry->fault_address  = fault_address;
>
> + __entry->error_code     = error_code;
>
> + ),
>
> +
>
> + TP_printk("vcpu %u address 0x%016llx error_code 0x%llx",
>
> + __entry->vcpu_id,
>
> + __entry->fault_address,
>
> + __entry->error_code)
>
> +);
>
> +
>
>  #endif /* _TRACE_RSICV_KVM_H */
>
>
>
>  #undef TRACE_INCLUDE_PATH
>
> diff --git a/arch/riscv/kvm/vcpu_exit.c b/arch/riscv/kvm/vcpu_exit.c
>
> index 0bb0c51e3c89..0cfb0149da9f 100644
>
> --- a/arch/riscv/kvm/vcpu_exit.c
>
> +++ b/arch/riscv/kvm/vcpu_exit.c
>
> @@ -11,6 +11,7 @@
>
>  #include <asm/insn-def.h>
>
>  #include <asm/kvm_mmu.h>
>
>  #include <asm/kvm_nacl.h>
>
> +#include "trace.h"
>
>
>
>  static int gstage_page_fault(struct kvm_vcpu *vcpu, struct kvm_run *run,
>
>        struct kvm_cpu_trap *trap)
>
> @@ -43,6 +44,8 @@ static int gstage_page_fault(struct kvm_vcpu *vcpu, struct kvm_run *run,
>
>   };
>
>   }
>
>
>
> + trace_kvm_page_fault(vcpu, fault_addr, trap->scause);
>
> +
>
>   ret = kvm_riscv_mmu_map(vcpu, memslot, fault_addr, hva,
>
>   (trap->scause == EXC_STORE_GUEST_PAGE_FAULT) ? true : false,
>
>   &host_map);
>
> --
>
> 2.43.5
>
>
>
>
>
>

-- 
kvm-riscv mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/kvm-riscv
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.