• R
    cpufreq: intel_pstate: Fix EPP setting via sysfs in active mode · de002c55
    Rafael J. Wysocki 提交于
    Because intel_pstate_set_energy_pref_index() reads and writes the
    MSR_HWP_REQUEST register without using the cached value of it used by
    intel_pstate_hwp_boost_up() and intel_pstate_hwp_boost_down(), those
    functions may overwrite the value written by it and so the EPP value
    set via sysfs may be lost.
    
    To avoid that, make intel_pstate_set_energy_pref_index() take the
    cached value of MSR_HWP_REQUEST just like the other two routines
    mentioned above and update it with the new EPP value coming from
    user space in addition to updating the MSR.
    
    Note that the MSR itself still needs to be updated too in case
    hwp_boost is unset or the boosting mechanism is not active at the
    EPP change time.
    
    Fixes: e0efd5be ("cpufreq: intel_pstate: Add HWP boost utility and sched util hooks")
    Reported-by: NFrancisco Jerez <currojerez@riseup.net>
    Cc: 4.18+ <stable@vger.kernel.org> # 4.18+: 3da97d4db8ee cpufreq: intel_pstate: Rearrange ...
    Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
    Reviewed-by: NFrancisco Jerez <currojerez@riseup.net>
    de002c55
intel_pstate.c 72.4 KB