[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20221206101629.dbcuv3zdso44w3cq@vireshk-i7>
Date: Tue, 6 Dec 2022 15:46:29 +0530
From: Viresh Kumar <viresh.kumar@...aro.org>
To: Lukasz Luba <lukasz.luba@....com>
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 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.
--
viresh
Powered by blists - more mailing lists