linux-next/drivers/powercap
Daniel Lezcano eb82bace89 powercap/drivers/dtpm: Scale the power with the load
Currently the power consumption is based on the current OPP power
assuming the entire performance domain is fully loaded.

That gives very gross power estimation and we can do much better by
using the load to scale the power consumption.

Use the utilization to normalize and scale the power usage over the
max possible power.

Tested on a rock960 with 2 big CPUS, the power consumption estimation
conforms with the expected one.

Before this change:

~$ ~/dhrystone -t 1 -l 10000&
~$ cat /sys/devices/virtual/powercap/dtpm/dtpm:0/dtpm:0:1/constraint_0_max_power_uw
2260000

After this change:

~$ ~/dhrystone -t 1 -l 10000&
~$ cat /sys/devices/virtual/powercap/dtpm/dtpm:0/dtpm:0:1/constraint_0_max_power_uw
1130000

~$ ~/dhrystone -t 2 -l 10000&
~$ cat /sys/devices/virtual/powercap/dtpm/dtpm:0/dtpm:0:1/constraint_0_max_power_uw
2260000

Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Reviewed-by: Lukasz Luba <lukasz.luba@arm.com>
Link: https://lore.kernel.org/r/20210312130411.29833-5-daniel.lezcano@linaro.org
2021-10-21 16:03:31 +02:00
..
dtpm_cpu.c powercap/drivers/dtpm: Scale the power with the load 2021-10-21 16:03:31 +02:00
dtpm.c powercap/drivers/dtpm: Use container_of instead of a private data field 2021-10-21 16:03:31 +02:00
idle_inject.c powercap: include header to fix -Wmissing-prototypes 2020-09-25 16:46:01 +02:00
intel_rapl_common.c powercap: intel_rapl: Replace deprecated CPU-hotplug functions 2021-08-04 20:13:46 +02:00
intel_rapl_msr.c powercap: Add Power Limit4 support for Alder Lake SoC 2021-08-25 20:12:16 +02:00
Kconfig powercap/drivers/dtpm: Add the experimental label to the option description 2021-03-01 17:43:29 +01:00
Makefile powercap/drivers/dtpm: Add CPU energy model based support 2020-12-22 19:50:40 +01:00
powercap_sys.c Merge branches 'pm-sleep', 'pm-acpi', 'pm-domains' and 'powercap' 2020-12-15 15:26:14 +01:00