OSDN Git Service

powercap/drivers/dtpm: Scale the power with the load
authorDaniel Lezcano <daniel.lezcano@linaro.org>
Fri, 12 Mar 2021 13:04:11 +0000 (14:04 +0100)
committerDaniel Lezcano <daniel.lezcano@linaro.org>
Thu, 21 Oct 2021 14:03:31 +0000 (16:03 +0200)
commiteb82bace893169b319c563b7f813c58a0a5a9f76
tree00227f04411144cea6707f998681b24b694d25d3
parentd2cdc6adc30879d81160199fc7c6ab890fc4bd4c
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
drivers/powercap/dtpm_cpu.c