Re: [PATCH v5 15/23] PM: EM: Optimize em_cpu_energy() and remove division

Lukasz Luba
2024-01-04T16:55:14Z

On 1/4/24 16:30, Dietmar Eggemann wrote:
> On 20/12/2023 09:42, Lukasz Luba wrote:
>>
>>
>> On 12/12/23 18:50, Dietmar Eggemann wrote:
>>> On 29/11/2023 12:08, Lukasz Luba wrote:
>
> [...]
>
>>>> With this optimization, the em_cpu_energy() should run faster on the Big
>>>> CPU by 1.43x and on the Little CPU by 1.69x.
>>>
>>> Where are those precise numbers are coming from? Which platform was it?
>>
>> That was mainline big.Little board rockpi4 b w/ rockchip 3399, present
>
> IMHO, you should mention the platform here so people don't wonder.
>
>> quite a few commercial devices (e.g. chromebooks or plenty other seen in
>> DT). The numbers are from measuring the time it takes to run this
>> function em_cpu_cost() in a loop for mln of times. Thus, the instruction
>> cache and data cache should be hot, but the operation would impact the
>> different score.
>
> [...]
>
>>> Can you not keep the existing comment and only change:
>>>
>>> (a) that ps->cap id ps->performance in (2) and
>>>
>>> (b) that:
>>>
>>>            *             ps->power * cpu_max_freq   cpu_util
>>>            *   cpu_nrg = ------------------------ * ---------     (3)
>>>            *                    ps->freq            scale_cpu
>>>
>>>                          <---- (old) ps->cost --->
>>>
>>>      is now
>>>
>>>                  ps->power * cpu_max_freq       1
>>>      ps-> cost = ------------------------ * ----------
>>>                          ps->freq            scale_cpu
>>>
>>>                  <---- (old) ps->cost --->
>>>
>>> and (c) that (4) has changed to:
>>>
>>>           *   pd_nrg = ps->cost * \Sum cpu_util                   (4)
>>>
>>> which avoid the division?
>>>
>>> Less changes is always much nicer since it makes it so much easier to
>>> detect history and review changes.
>>
>> I'm open to change that, but I will have to contact you offline
>> what you mean. This comment section in code is really tricky to
>> handle right.
>
> OK, the changes you showed me offline LGTM.
>
> [...]
>

All good then. Thank you for the comments. I'll send v6.