linux/tools/power/cpupower/lib
Thomas Renninger c2294c1496 cpupower: Introduce powercap intel-rapl library and powercap-info command
Read out powercap zone information via:
cpupower powercap-info
and show the zone hierarchy to the user:

./cpupower powercap-info
Driver: intel-rapl
Powercap domain hierarchy:

Zone: package-0 (enabled)
Power consumption can be monitored in micro Watts

        Zone: core (disabled)
        Power consumption can be monitored in micro Watts

        Zone: uncore (disabled)
        Power consumption can be monitored in micro Watts

        Zone: dram (disabled)
        Power consumption can be monitored in micro Watts

There is a dummy -a option for powercap-info which can/should be used to
show more detailed info later. Like that other args can be added easily
later as well.

A enable/disable option via powercap-set subcommand is also an enhancement
for later.

Also not all RAPL domains are shown. The func walking through RAPL
subdomains is restricted and hardcoded to: "intel-rapl/intel-rapl:0"
On my system above powercap domains map to:
intel-rapl/intel-rapl:0
-> pack (age-0)
intel-rapl/intel-rapl:0/intel-rapl:0:0
-> core
intel-rapl/intel-rapl:0/intel-rapl:0:1
-> uncore

Missing ones on my system are:
intel-rapl-mmio/intel-rapl-mmio:0
-> pack (age-0)

intel-rapl/intel-rapl:1
-> psys

This could get enhanced in:
struct powercap_zone *powercap_init_zones()
and adopted to walk through all intel-rapl zones, but
also to other powercap drivers like dtpm
(Dynamic Thermal Power Management framework),
cmp with: drivers/powercap/dtpm_*

Signed-off-by: Thomas Renninger <trenn@suse.de>
CC: Shuah Khan <skhan@linuxfoundation.org>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
2022-11-30 16:48:28 -07:00
..
acpi_cppc.c cpupower: Introduce ACPI CPPC library 2022-02-22 18:36:50 -07:00
acpi_cppc.h cpupower: Introduce ACPI CPPC library 2022-02-22 18:36:50 -07:00
cpufreq.c cpupower: Add the function to get the sysfs value from specific table 2022-02-22 18:36:44 -07:00
cpufreq.h cpupower: Add the function to get the sysfs value from specific table 2022-02-22 18:36:44 -07:00
cpuidle.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 166 2019-05-30 11:26:39 -07:00
cpuidle.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
cpupower_intern.h tools/power/cpupower: Read energy_perf_bias from sysfs 2020-11-16 17:42:12 +01:00
cpupower.c tools/power/cpupower: Read energy_perf_bias from sysfs 2020-11-16 17:42:12 +01:00
cpupower.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
powercap.c cpupower: Introduce powercap intel-rapl library and powercap-info command 2022-11-30 16:48:28 -07:00
powercap.h cpupower: Introduce powercap intel-rapl library and powercap-info command 2022-11-30 16:48:28 -07:00