mbox series

[0/2] Ignore Energy Model with abstract scale in IPA and DTPM

Message ID 20220207073036.14901-1-lukasz.luba@arm.com (mailing list archive)
Headers show
Series Ignore Energy Model with abstract scale in IPA and DTPM | expand

Message

Lukasz Luba Feb. 7, 2022, 7:30 a.m. UTC
Hi all,

The Energy Model supports abstract scale power values. This might cause
issues for some mechanisms like thermal governor IPA or DTPM, which
expect that all devices provide sane power values. This patch set prevents
from registering such devices for IPA and DTPM.

Regards,
Lukasz

Lukasz Luba (2):
  thermal: cooling: Check Energy Model type in cpufreq_cooling and
    devfreq_cooling
  powercap: DTPM: Check Energy Model type for power values scale

 drivers/powercap/dtpm_cpu.c       |  2 +-
 drivers/thermal/cpufreq_cooling.c |  2 +-
 drivers/thermal/devfreq_cooling.c | 16 +++++++++++++---
 3 files changed, 15 insertions(+), 5 deletions(-)

Comments

Daniel Lezcano Feb. 7, 2022, 10:41 a.m. UTC | #1
On 07/02/2022 08:30, Lukasz Luba wrote:
> Hi all,
> 
> The Energy Model supports abstract scale power values. This might cause
> issues for some mechanisms like thermal governor IPA or DTPM, which
> expect that all devices provide sane power values. This patch set prevents
> from registering such devices for IPA and DTPM.


Does it mean for example big and little have both 0-100 ?
Lukasz Luba Feb. 7, 2022, 11:44 a.m. UTC | #2
On 2/7/22 10:41 AM, Daniel Lezcano wrote:
> On 07/02/2022 08:30, Lukasz Luba wrote:
>> Hi all,
>>
>> The Energy Model supports abstract scale power values. This might cause
>> issues for some mechanisms like thermal governor IPA or DTPM, which
>> expect that all devices provide sane power values. This patch set 
>> prevents
>> from registering such devices for IPA and DTPM.
> 
> 
> Does it mean for example big and little have both 0-100 ?
> 
> 

Unfortunately, these can be any numbers. I hope at least the CPUs
Big and Little power have sense: Little power is not higher
than Big power. The purpose of EM is to enable EAS, so this power
relation between Big and Little should have sense. Someone
who is not willing to or cannot expose real power values, still
wants the EAS to operate (my assumption and hope). The SCMI FW can
provide abstract power values. It's in the SCMI spec. Thus,
creating these abstract scale power values for big.LITTLE the right
way should result in properly working EAS.

I can also have hope for GPU vs. Big power, but it is a weaker hope.
The second is more tricky to distinguish even if you have a domain
knowledge, but not the real measurements with you. The GPU power
values is also a 'sensitive' knowledge to share. Open source guys can do
that (after measurements), but some vendor's engineers probably can't.
Daniel Lezcano Feb. 8, 2022, 7:39 a.m. UTC | #3
On 07/02/2022 12:44, Lukasz Luba wrote:
> 
> 
> On 2/7/22 10:41 AM, Daniel Lezcano wrote:
>> On 07/02/2022 08:30, Lukasz Luba wrote:
>>> Hi all,
>>>
>>> The Energy Model supports abstract scale power values. This might cause
>>> issues for some mechanisms like thermal governor IPA or DTPM, which
>>> expect that all devices provide sane power values. This patch set 
>>> prevents
>>> from registering such devices for IPA and DTPM.
>>
>>
>> Does it mean for example big and little have both 0-100 ?
>>
>>
> 
> Unfortunately, these can be any numbers. I hope at least the CPUs
> Big and Little power have sense: Little power is not higher
> than Big power. The purpose of EM is to enable EAS, so this power
> relation between Big and Little should have sense. Someone
> who is not willing to or cannot expose real power values, still
> wants the EAS to operate (my assumption and hope). The SCMI FW can
> provide abstract power values. It's in the SCMI spec. Thus,
> creating these abstract scale power values for big.LITTLE the right
> way should result in properly working EAS.
> 
> I can also have hope for GPU vs. Big power, but it is a weaker hope.
> The second is more tricky to distinguish even if you have a domain
> knowledge, but not the real measurements with you. The GPU power
> values is also a 'sensitive' knowledge to share. Open source guys can do
> that (after measurements), but some vendor's engineers probably can't.

So basically, we don't know, right ?

At this point the different subsystems (cpufreq cooling device and dtpm) 
disabled by these patches can deal with abstract scale values, like they 
do today with the very approximate power numbers we have defined in the DT.

Let's wait and see how the different SoC vendors implement the SCMI spec.
Lukasz Luba Feb. 8, 2022, 9:47 a.m. UTC | #4
On 2/8/22 7:39 AM, Daniel Lezcano wrote:
> On 07/02/2022 12:44, Lukasz Luba wrote:
>>
>>
>> On 2/7/22 10:41 AM, Daniel Lezcano wrote:
>>> On 07/02/2022 08:30, Lukasz Luba wrote:
>>>> Hi all,
>>>>
>>>> The Energy Model supports abstract scale power values. This might cause
>>>> issues for some mechanisms like thermal governor IPA or DTPM, which
>>>> expect that all devices provide sane power values. This patch set 
>>>> prevents
>>>> from registering such devices for IPA and DTPM.
>>>
>>>
>>> Does it mean for example big and little have both 0-100 ?
>>>
>>>
>>
>> Unfortunately, these can be any numbers. I hope at least the CPUs
>> Big and Little power have sense: Little power is not higher
>> than Big power. The purpose of EM is to enable EAS, so this power
>> relation between Big and Little should have sense. Someone
>> who is not willing to or cannot expose real power values, still
>> wants the EAS to operate (my assumption and hope). The SCMI FW can
>> provide abstract power values. It's in the SCMI spec. Thus,
>> creating these abstract scale power values for big.LITTLE the right
>> way should result in properly working EAS.
>>
>> I can also have hope for GPU vs. Big power, but it is a weaker hope.
>> The second is more tricky to distinguish even if you have a domain
>> knowledge, but not the real measurements with you. The GPU power
>> values is also a 'sensitive' knowledge to share. Open source guys can do
>> that (after measurements), but some vendor's engineers probably can't.
> 
> So basically, we don't know, right ?

Well, we know - power is not in milli-Watts.
The PowerCap and DTPM have this sysfs contract of providing micro-Watts.
Don't we break this if we know for sure that the power values in EM
are not in milli-Watts?

> 
> At this point the different subsystems (cpufreq cooling device and dtpm) 
> disabled by these patches can deal with abstract scale values, like they 
> do today with the very approximate power numbers we have defined in the DT.
> 
> Let's wait and see how the different SoC vendors implement the SCMI spec.
> 

I'm not sure if that would be visible to us. The current path to feed
abstract power values from SCMI cpufreq already exists and is based
on protocol response. The DT is not involved in this configuration.