• Viresh Kumar's avatar
    cpufreq: schedutil: Don't set next_freq to UINT_MAX · ecd28842
    Viresh Kumar authored
    The schedutil driver sets sg_policy->next_freq to UINT_MAX on certain
    occasions to discard the cached value of next freq:
    - In sugov_start(), when the schedutil governor is started for a group
      of CPUs.
    - And whenever we need to force a freq update before rate-limit
      duration, which happens when:
      - there is an update in cpufreq policy limits.
      - Or when the utilization of DL scheduling class increases.
    
    In return, get_next_freq() doesn't return a cached next_freq value but
    recalculates the next frequency instead.
    
    But having special meaning for a particular value of frequency makes the
    code less readable and error prone. We recently fixed a bug where the
    UINT_MAX value was considered as valid frequency in
    sugov_update_single().
    
    All we need is a flag which can be used to discard the value of
    sg_policy->next_freq and we already have need_freq_update for that. Lets
    reuse it instead of setting next_freq to UINT_MAX.
    Signed-off-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
    Reviewed-by: default avatarJoel Fernandes (Google) <joel@joelfernandes.org>
    Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
    ecd28842
cpufreq_schedutil.c 18.5 KB