Re: [PATCH v3] PM / OPP: optimize dev_pm_opp_set_rate() performance a bit

From: Viresh Kumar
Date: Mon Jul 25 2016 - 18:34:27 EST


On 25-07-16, 14:11, Jisheng Zhang wrote:
> In dev_pm_opp_set_rate(), _find_opp_table() is called 4 times: once by
> _get_opp_clk(), once by dev_pm_opp_set_rate() itself, and twice by
> dev_pm_opp_find_freq_ceil(). If there are several opp_tables in the
> system, three times of opp table finding is a big waste. This patch
> reduced the call of _find_opp_table() to twice.
>
> Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxxx>
> ---
> Since v2:
> - fix gcc warnings
>
> Since v1:
> - avoid opp_table pointer usage after the rcu_read_unlock() as pointed
> out by Viresh, thus we can only reduced the call of _find_opp_table
> to twice.
>
> drivers/base/power/opp/core.c | 31 +++++++++++++++++++------------
> 1 file changed, 19 insertions(+), 12 deletions(-)

Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx>

--
viresh