These patches add basic pmus for 2 powerpc hypervisor interfaces to obtain performance counters: gpci ("get performance counter info") and 24x7.
The counters supplied by these interfaces are continually counting and never need to be (and cannot be) disabled or enabled. They additionally do not generate any interrupts. This makes them in some regards similar to software counters, and as a result their implimentation shares some common code (which an initial patch exposes) with the sw counters. There is ongoing work to support transactions for each of these pmus. Cody P Schafer (8): perf: add PMU_RANGE_ATTR() helper for use by sw-like pmus perf core: export swevent hrtimer helpers powerpc: add hvcalls for 24x7 and gpci (get performance counter info) powerpc: add hv_gpci interface header powerpc: add 24x7 interface header powerpc/perf: add support for the hv gpci (get performance counter info) interface powerpc/perf: add support for the hv 24x7 interface powerpc/perf: add kconfig option for hypervisor provided counters arch/powerpc/include/asm/hv_24x7.h | 239 ++++++++++++++++ arch/powerpc/include/asm/hv_gpci.h | 490 +++++++++++++++++++++++++++++++++ arch/powerpc/include/asm/hvcall.h | 6 +- arch/powerpc/perf/Makefile | 2 + arch/powerpc/perf/hv-24x7.c | 354 ++++++++++++++++++++++++ arch/powerpc/perf/hv-gpci.c | 235 ++++++++++++++++ arch/powerpc/platforms/Kconfig.cputype | 6 + include/linux/perf_event.h | 22 +- kernel/events/core.c | 8 +- 9 files changed, 1356 insertions(+), 6 deletions(-) create mode 100644 arch/powerpc/include/asm/hv_24x7.h create mode 100644 arch/powerpc/include/asm/hv_gpci.h create mode 100644 arch/powerpc/perf/hv-24x7.c create mode 100644 arch/powerpc/perf/hv-gpci.c -- 1.8.5.2 _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev