• Viresh Kumar's avatar
    cpufreq: schedutil: Refactor sugov_next_freq_shared() · cba1dfb5
    Viresh Kumar authored
    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: default avatarViresh Kumar <viresh.kumar@linaro.org>
    Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
    cba1dfb5
cpufreq_schedutil.c 16.7 KB