• R
    Intel: intel_idle: Use ACPI _CST for processor models without C-state tables · 5887563b
    Rafael J. Wysocki 提交于
    task #29239886
    
    commit 18734958e9bfbc055805d110a38dc76307eba742 upstream
    
    Modify the intel_idle driver to get the C-states information from ACPI
    _CST if the processor model is not recognized by it.
    
    The processor is still required to support MWAIT and the information
    from ACPI _CST will only be used if all of the C-states listed by
    _CST are of the ACPI_CSTATE_FFH type (which means that they are
    expected to be entered via MWAIT).
    
    Moreover, the driver assumes that the _CST information is the same
    for all CPUs in the system, so it is sufficient to evaluate _CST for
    one of them and extract the common list of C-states from there.
    Also _CST is evaluated once at the system initialization time and
    the driver does not respond to _CST change notifications (that can
    be changed in the future).
    
    The main functional difference between intel_idle with this change
    and the ACPI processor driver is that the former sets the target
    residency to be equal to the exit latency (provided by _CST) for
    C1-type C-states and to 3 times the exit latency value for the other
    C-state types, whereas the latter obtains the target residency by
    multiplying the exit latency by the same number (2 by default) for
    all C-state types.  Therefore it is expected that in general using
    the former instead of the latter on the same system will lead to
    improved energy-efficiency.
    Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
    Signed-off-by: Nyjia <yingbao.jia@intel.com>
    Signed-off-by: NErwei Deng <erwei@linux.alibaba.com>
    Reviewed-by: NArtie Ding <artie.ding@linux.alibaba.com>
    5887563b
intel_idle.c 40.0 KB