[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <2a97cf28-7e47-04c7-edcb-41adbd20ccd9@arm.com>
Date: Tue, 6 Dec 2022 10:29:58 +0000
From: Lukasz Luba <lukasz.luba@....com>
To: Viresh Kumar <viresh.kumar@...aro.org>
Cc: linux-kernel@...r.kernel.org, linux-pm@...r.kernel.org,
rafael@...nel.org, dietmar.eggemann@....com,
vincent.guittot@...aro.org, saravanak@...gle.com,
wusamuel@...gle.com, isaacmanjarres@...gle.com,
kernel-team@...roid.com, juri.lelli@...hat.com,
peterz@...radead.org, mingo@...hat.com, rostedt@...dmis.org,
bsegall@...gle.com, mgorman@...e.de
Subject: Re: [PATCH] cpufreq: schedutil: Optimize operations with single max
CPU capacity
On 12/6/22 10:16, Viresh Kumar wrote:
> On 06-12-22, 10:10, Lukasz Luba wrote:
>> The max CPU capacity is the same for all CPUs sharing frequency domain
>> and thus 'policy' object. There is a way to avoid heavy operations
>> in a loop for each CPU by leveraging this knowledge. Thus, simplify
>> the looping code in the sugov_next_freq_shared() and drop heavy
>> multiplications. Instead, use simple max() to get the highest utilization
>> from these CPUs. This is useful for platforms with many (4 or 6) little
>> CPUs.
>>
>> The max CPU capacity must be fetched every time we are called, due to
>> difficulties during the policy setup, where we are not able to get the
>> normalized CPU capacity at the right time.
>>
>> The stored value in sugov_policy::max is also than used in
>> sugov_iowait_apply() to calculate the right boost. Thus, that field is
>> useful to have in that sugov_policy struct.
>>
>> Signed-off-by: Lukasz Luba <lukasz.luba@....com>
>
> Can you please divide this into two patches, one for just moving max
> and one for looping optimization ? Else we may end up reverting
> everything once again.
>
OK, I can do that. Thanks for having a look!
Powered by blists - more mailing lists