[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20250224095618.1436016-1-maobibo@loongson.cn>
Date: Mon, 24 Feb 2025 17:56:15 +0800
From: Bibo Mao <maobibo@...ngson.cn>
To: Tianrui Zhao <zhaotianrui@...ngson.cn>,
Huacai Chen <chenhuacai@...nel.org>
Cc: WANG Xuerui <kernel@...0n.name>,
kvm@...r.kernel.org,
loongarch@...ts.linux.dev,
linux-kernel@...r.kernel.org
Subject: [PATCH 0/3] Add perf event support for guest VM
>From perf pmu interrupt is normal IRQ rather than NMI, so code cannot be
profiled if interrupt is disabled. However it is possible to profile
guest kernel in this situation from host side, profile result is more
accurate from host than that from guest.
Perf event support for guest VM is added here, and the below is the
example:
perf kvm --host --guest --guestkallsyms=guest-kallsyms
--guestmodules=guest-modules top
Overhead Shared Object Symbol
20.02% [guest.kernel] [g] __arch_cpu_idle
16.74% [guest.kernel] [g] queued_spin_lock_slowpath
10.05% [kernel] [k] __arch_cpu_idle
2.00% [guest.kernel] [g] clear_page
1.62% [guest.kernel] [g] copy_page
1.50% [guest.kernel] [g] next_uptodate_folio
1.41% [guest.kernel] [g] queued_write_lock_slowpath
1.41% [guest.kernel] [g] unmap_page_range
1.36% [guest.kernel] [g] mod_objcg_state
1.30% [guest.kernel] [g] osq_lock
1.28% [guest.kernel] [g] __slab_free
0.98% [guest.kernel] [g] copy_page_range
Bibo Mao (3):
LoongArch: KVM: Add stub for kvm_arch_vcpu_preempted_in_kernel
LoongArch: KVM: Implement arch specified functions for guest perf
LoongArch: KVM: Register perf callback for guest
arch/loongarch/include/asm/kvm_host.h | 2 ++
arch/loongarch/kvm/Kconfig | 1 +
arch/loongarch/kvm/main.c | 2 ++
arch/loongarch/kvm/vcpu.c | 31 +++++++++++++++++++++++++++
4 files changed, 36 insertions(+)
base-commit: 2408a807bfc3f738850ef5ad5e3fd59d66168996
--
2.39.3
Powered by blists - more mailing lists