Message ID | 20220214110914.268126-1-adrian.hunter@intel.com (mailing list archive) |
---|---|
Headers | show |
Series | perf intel-pt: Add perf event clocks to better support VM tracing | expand |
On 14/02/2022 13:09, Adrian Hunter wrote: > 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. > > > Changes in V2: > perf/x86: Fix native_perf_sched_clock_from_tsc() with __sched_clock_offset > Add __sched_clock_offset unconditionally > > perf/x86: Add support for TSC as a perf event clock > Use an attribute bit 'ns_clockid' to identify non-standard clockids > > perf/x86: Add support for TSC in nanoseconds as a perf event clock > Do not affect use of __sched_clock_offset > Adjust to use 'ns_clockid' Any comments on version 2? > > 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 > Adjust to use 'ns_clockid' > > > 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 | 39 ++++++++++-- > arch/x86/include/asm/perf_event.h | 5 ++ > arch/x86/kernel/tsc.c | 2 +- > include/uapi/linux/perf_event.h | 18 +++++- > kernel/events/core.c | 63 +++++++++++++------- > tools/include/uapi/linux/perf_event.h | 18 +++++- > 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 | 95 ++++++++++++++++++++++++++++-- > tools/perf/builtin-record.c | 2 +- > tools/perf/tests/perf-time-to-tsc.c | 42 ++++++++++--- > tools/perf/util/clockid.c | 14 +++++ > tools/perf/util/evsel.c | 1 + > tools/perf/util/intel-pt.c | 27 +++++++-- > tools/perf/util/intel-pt.h | 7 ++- > tools/perf/util/perf_api_probe.c | 24 ++++++++ > tools/perf/util/perf_api_probe.h | 2 + > tools/perf/util/perf_event_attr_fprintf.c | 1 + > tools/perf/util/record.h | 2 + > tools/perf/util/tsc.c | 58 ++++++++++++++++++ > tools/perf/util/tsc.h | 2 + > 22 files changed, 444 insertions(+), 52 deletions(-) > > > Regards > Adrian
On 21/02/2022 08:54, Adrian Hunter wrote: > On 14/02/2022 13:09, Adrian Hunter wrote: >> 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. >> >> >> Changes in V2: >> perf/x86: Fix native_perf_sched_clock_from_tsc() with __sched_clock_offset >> Add __sched_clock_offset unconditionally >> >> perf/x86: Add support for TSC as a perf event clock >> Use an attribute bit 'ns_clockid' to identify non-standard clockids >> >> perf/x86: Add support for TSC in nanoseconds as a perf event clock >> Do not affect use of __sched_clock_offset >> Adjust to use 'ns_clockid' > > Any comments on version 2? ☺/