• Rafael J. Wysocki's avatar
    cpufreq: intel_pstate: Free memory only when turning off · 55671ea3
    Rafael J. Wysocki authored
    When intel_pstate switches the operation mode from "active" to
    "passive" or the other way around, freeing its data structures
    representing CPUs and allocating them again from scratch is not
    necessary and wasteful.  Moreover, if these data structures are
    preserved, the cached HWP Request MSR value from there may be
    written to the MSR to start with to reinitialize it and help to
    restore the EPP value set previously (it is set to 0xFF when CPUs
    go offline to allow their SMT siblings to use the full range of
    EPP values and that also happens when the driver gets unregistered).
    
    Accordingly, modify the driver to only do a full cleanup on driver
    object registration errors and when its status is changed to "off"
    via sysfs and to write the cached HWP Request MSR value back to
    the MSR on CPU init if the data structure representing the given
    CPU is still there.
    Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
    Acked-by: default avatarSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
    55671ea3
intel_pstate.c 76.8 KB