]> git.baikalelectronics.ru Git - kernel.git/commit
cpufreq: schedutil: Refactor sugov_next_freq_shared()
authorViresh Kumar <viresh.kumar@linaro.org>
Thu, 9 Mar 2017 04:04:54 +0000 (09:34 +0530)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Sun, 12 Mar 2017 22:11:33 +0000 (23:11 +0100)
commit486015b480a6e8adbbb26b5c22d612912843b853
treece42ca70ca770e81794054c507d1837b0810cd18
parent216fddb470a2894ba09065eab0de4806eede43f2
cpufreq: schedutil: Refactor sugov_next_freq_shared()

The loop in sugov_next_freq_shared() contains an if block to skip the
loop for the current CPU. This turns out to be an unnecessary
conditional in the scheduler's hot-path for every CPU in the policy.

It would be better to drop the conditional and make the loop treat all
the CPUs in the same way. That would eliminate the need of calling
sugov_iowait_boost() at the top of the routine.

To keep the code optimized to return early if the current CPU has RT/DL
flags set, move the flags check to sugov_update_shared() instead in
order to avoid the function call entirely.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
kernel/sched/cpufreq_schedutil.c