summaryrefslogtreecommitdiffstats
path: root/mm
diff options
context:
space:
mode:
authorStephane Eranian <eranian@google.com>2022-01-05 19:56:59 +0100
committerPeter Zijlstra <peterz@infradead.org>2022-01-18 12:09:48 +0100
commit0036fb00a756a2f6e360d44e2e3d2200a8afbc9b (patch)
tree2ca839d0e2af4a1a16717d952cb4737c977eb110 /mm
parentperf/x86/intel/uncore: Fix CAS_COUNT_WRITE issue for ICX (diff)
downloadlinux-0036fb00a756a2f6e360d44e2e3d2200a8afbc9b.tar.xz
linux-0036fb00a756a2f6e360d44e2e3d2200a8afbc9b.zip
perf/x86/rapl: fix AMD event handling
The RAPL events exposed under /sys/devices/power/events should only reflect what the underlying hardware actually support. This is how it works on Intel RAPL and Intel core/uncore PMUs in general. But on AMD, this was not the case. All possible RAPL events were advertised. This is what it showed on an AMD Fam17h: $ ls /sys/devices/power/events/ energy-cores energy-gpu energy-pkg energy-psys energy-ram energy-cores.scale energy-gpu.scale energy-pkg.scale energy-psys.scale energy-ram.scale energy-cores.unit energy-gpu.unit energy-pkg.unit energy-psys.unit energy-ram.unit Yet, on AMD Fam17h, only energy-pkg is supported. This patch fixes the problem. Given the way perf_msr_probe() works, the amd_rapl_msrs[] table has to have all entries filled out and in particular the group field, otherwise perf_msr_probe() defaults to making the event visible. With the patch applied, the kernel now only shows was is actually supported: $ ls /sys/devices/power/events/ energy-pkg energy-pkg.scale energy-pkg.unit The patch also uses the RAPL_MSR_MASK because only the 32-bits LSB of the RAPL counters are relevant when reading power consumption. Signed-off-by: Stephane Eranian <eranian@google.com> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Link: https://lkml.kernel.org/r/20220105185659.643355-1-eranian@google.com
Diffstat (limited to 'mm')
0 files changed, 0 insertions, 0 deletions