[PATCH v2 0/5] perf/x86/power: Introduce AMD accumlated power reporting mechanism

From: Huang Rui
Date: Wed Jan 13 2016 - 21:51:17 EST


This series of patches introduces the perf implementation of
accumulated power reporting algorithm. It will calculate the average
power consumption for the processor. The CPU feature flag is

Changes from v1 -> v2:
- Add a patch to fix the build issue which is reported by kbuild test

Simple example:

root@hr-zp:/home/ray/tip# ./tools/perf/perf stat -a -e 'power/power-pkg/' make -j4
CHK include/config/kernel.release
CHK include/generated/uapi/linux/version.h
CHK include/generated/utsrelease.h
CHK include/generated/timeconst.h
CHK include/generated/bounds.h
CHK include/generated/asm-offsets.h
CALL scripts/checksyscalls.sh
CHK include/generated/compile.h
SKIPPED include/generated/compile.h
Building modules, stage 2.
Kernel: arch/x86/boot/bzImage is ready (#40)
MODPOST 4225 modules

Performance counter stats for 'system wide':

183.44 mWatts power/power-pkg/

341.837270111 seconds time elapsed

root@hr-zp:/home/ray/tip# ./tools/perf/perf stat -a -e 'power/power-pkg/' sleep 10

Performance counter stats for 'system wide':

0.18 mWatts power/power-pkg/

10.012551815 seconds time elapsed



Huang Rui (5):
x86/amd: move nodes_per_socket into bsp_init_amd
x86/amd: add accessor for number of cores per compute unit
x86/cpufeature: add AMD Accumulated Power Mechanism feature flag
perf/x86: Move events_sysfs_show outside CPU_SUP_INTEL
perf/x86/amd/power: Add AMD accumulated power reporting mechanism

arch/x86/include/asm/cpufeature.h | 2 +-
arch/x86/include/asm/processor.h | 1 +
arch/x86/kernel/cpu/Makefile | 1 +
arch/x86/kernel/cpu/amd.c | 31 +-
arch/x86/kernel/cpu/perf_event.h | 6 +-
arch/x86/kernel/cpu/perf_event_amd_power.c | 531 +++++++++++++++++++++++++++++
6 files changed, 564 insertions(+), 8 deletions(-)
create mode 100644 arch/x86/kernel/cpu/perf_event_amd_power.c