[PATCH 0/8] Add support for PowerPC Hypervisor supplied performance counters

From: Cody P Schafer
Date: Thu Jan 16 2014 - 18:56:04 EST

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


To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/