perf: qcom: Add L3 cache PMU driver
authorAgustin Vega-Frias <agustinv@codeaurora.org>
Fri, 31 Mar 2017 18:13:43 +0000 (14:13 -0400)
committerWill Deacon <will.deacon@arm.com>
Mon, 3 Apr 2017 17:53:50 +0000 (18:53 +0100)
commit3071f13d75f627ed8648535815a0506d50cbc6ed
tree86feaf03335af1381fb80d87e956e1957d5d1e37
parentc09adab01e4aeecfa3dfae0946409844400c5901
perf: qcom: Add L3 cache PMU driver

This adds a new dynamic PMU to the Perf Events framework to program
and control the L3 cache PMUs in some Qualcomm Technologies SOCs.

The driver supports a distributed cache architecture where the overall
cache for a socket is comprised of multiple slices each with its own PMU.
Access to each individual PMU is provided even though all CPUs share all
the slices. User space needs to aggregate to individual counts to provide
a global picture.

The driver exports formatting and event information to sysfs so it can
be used by the perf user space tools with the syntaxes:
   perf stat -a -e l3cache_0_0/read-miss/
   perf stat -a -e l3cache_0_0/event=0x21/

Acked-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Agustin Vega-Frias <agustinv@codeaurora.org>
[will: fixed sparse issues]
Signed-off-by: Will Deacon <will.deacon@arm.com>
Documentation/perf/qcom_l3_pmu.txt [new file with mode: 0644]
drivers/perf/Kconfig
drivers/perf/Makefile
drivers/perf/qcom_l3_pmu.c [new file with mode: 0644]
include/linux/cpuhotplug.h