Before there have some efforts and discussion for supprot tracing virtual CPU ID in Arm64 KVM, see [1][2]. The issue was blocked with a main concern that we cannot change the existed trace events to avoid ABI breakage. So the question is how we add new trace events with tracing virtual CPU ID and also need to keep backward compatibility. This patch set is to restart the work, it's inspired by Qais Yousef's work for adding scheduler tracepoints [3]. The first patch changes to register tracepoint callbacks, this can allow us to support multiple trace events with a single call site, it's a preparation to add new trace events. The second patch is to add two new trace events kvm_entry_v2 and kvm_exit_v2, and these two trace events contain the field "vcpu_id" for virtual CPU ID. For more complete view, the third patch is the change in perf tool. It dynamically detects trace nodes under sysfs and decide to use the version 2's trace events or rollback to use original events. This patch set has been tested with mainline kernel on Arm64 Ampere Altra platform. Note: I used checkpatch.pl to validate patches format and observed it reports error for second patch for adding trace events; since the trace event definition uses its own coding style, I just keep as it is. [1] https://lore.kernel.org/lkml/1560330526-15468-2-git-send-email-yuzenghui@xxxxxxxxxx/ [2] https://lore.kernel.org/lkml/20200917003645.689665-1-sergey.senozhatsky@xxxxxxxxx/ [3] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/kernel/sched/core.c?id=a056a5bed7fa67706574b00cf1122c38596b2be1 Leo Yan (3): KVM: arm64: Dynamically register callback for tracepoints KVM: arm64: Add trace events with field 'vcpu_id' perf arm64: Support virtual CPU ID for kvm-stat arch/arm64/kvm/Makefile | 2 +- arch/arm64/kvm/arm.c | 4 +- arch/arm64/kvm/trace.c | 35 +++++++++++++++++ arch/arm64/kvm/trace_arm.h | 53 ++++++++++++++++++++++++++ tools/perf/arch/arm64/util/kvm-stat.c | 54 ++++++++++++++++++++++++--- 5 files changed, 140 insertions(+), 8 deletions(-) create mode 100644 arch/arm64/kvm/trace.c -- 2.34.1 _______________________________________________ kvmarm mailing list kvmarm@xxxxxxxxxxxxxxxxxxxxx https://lists.cs.columbia.edu/mailman/listinfo/kvmarm