[PATCH 00/11] perf intel-pt: Add perf event clocks to better support VM tracing

From: Adrian Hunter
Date: Wed Feb 09 2022 - 03:49:49 EST


Hi

These patches add 2 new perf event clocks based on TSC for use with VMs.

The first patch is a minor fix, the next 2 patches add each of the 2 new
clocks. The remaining patches add minimal tools support and are based on
top of the Intel PT Event Trace tools' patches.

The future work, to add the ability to use perf inject to inject perf
events from a VM guest perf.data file into a VM host perf.data file,
has yet to be implemented.


Adrian Hunter (11):
perf/x86: Fix native_perf_sched_clock_from_tsc() with __sched_clock_offset
perf/x86: Add support for TSC as a perf event clock
perf/x86: Add support for TSC in nanoseconds as a perf event clock
perf tools: Add new perf clock IDs
perf tools: Add API probes for new clock IDs
perf tools: Add new clock IDs to "perf time to TSC" test
perf tools: Add perf_read_tsc_conv_for_clockid()
perf intel-pt: Add support for new clock IDs
perf intel-pt: Use CLOCK_PERF_HW_CLOCK_NS by default
perf intel-pt: Add config variables for timing parameters
perf intel-pt: Add documentation for new clock IDs

arch/x86/events/core.c | 43 +++++++++++---
arch/x86/include/asm/perf_event.h | 5 ++
arch/x86/kernel/tsc.c | 3 +-
include/uapi/linux/perf_event.h | 14 +++++
kernel/events/core.c | 13 +++++
tools/include/uapi/linux/perf_event.h | 14 +++++
tools/perf/Documentation/perf-config.txt | 18 ++++++
tools/perf/Documentation/perf-intel-pt.txt | 47 +++++++++++++++
tools/perf/Documentation/perf-record.txt | 9 ++-
tools/perf/arch/x86/util/intel-pt.c | 93 ++++++++++++++++++++++++++++--
tools/perf/builtin-record.c | 2 +-
tools/perf/tests/perf-time-to-tsc.c | 41 ++++++++++---
tools/perf/util/clockid.c | 6 ++
tools/perf/util/intel-pt.c | 27 +++++++--
tools/perf/util/intel-pt.h | 7 ++-
tools/perf/util/perf_api_probe.c | 22 +++++++
tools/perf/util/perf_api_probe.h | 2 +
tools/perf/util/record.h | 1 +
tools/perf/util/tsc.c | 56 ++++++++++++++++++
tools/perf/util/tsc.h | 1 +
20 files changed, 395 insertions(+), 29 deletions(-)


Regards
Adrian