arm64: perf: Add general hardware LLC events for PMUv3
authorLeo Yan <leo.yan@linaro.org>
Tue, 11 Aug 2020 05:35:05 +0000 (13:35 +0800)
committerWill Deacon <will@kernel.org>
Mon, 7 Sep 2020 10:42:38 +0000 (11:42 +0100)
commitffdbd3d83553beb0fda00081293d5640cba477a2
treed1235a343357b23a12e599796801dc686cd2dc01
parentf75aef392f869018f78cfedf3c320a6b3fcfda6b
arm64: perf: Add general hardware LLC events for PMUv3

This patch is to add the general hardware last level cache (LLC) events
for PMUv3: one event is for LLC access and another is for LLC miss.

With this change, perf tool can support last level cache profiling,
below is an example to demonstrate the usage on Arm64:

  $ perf stat -e LLC-load-misses -e LLC-loads -- \
  perf bench mem memcpy -s 1024MB -l 100 -f default

  [...]

    Performance counter stats for 'perf bench mem memcpy -s 1024MB -l 100 -f default':

        35,534,262      LLC-load-misses           #    2.16% of all LL-cache hits
     1,643,946,443      LLC-loads

  [...]

Signed-off-by: Leo Yan <leo.yan@linaro.org>
Link: https://lore.kernel.org/r/20200811053505.21223-1-leo.yan@linaro.org
Signed-off-by: Will Deacon <will@kernel.org>
arch/arm64/kernel/perf_event.c