diff options
author | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2019-12-13 09:56:01 +0100 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2019-12-27 11:02:08 +0100 |
commit | 18734958e9bfbc055805d110a38dc76307eba742 (patch) | |
tree | 9c7128b93b21f00a48587c94bbcc4a7b46c660d5 /drivers/cpuidle | |
parent | intel_idle: Refactor intel_idle_cpuidle_driver_init() (diff) | |
download | linux-18734958e9bfbc055805d110a38dc76307eba742.tar.xz linux-18734958e9bfbc055805d110a38dc76307eba742.zip |
intel_idle: Use ACPI _CST for processor models without C-state tables
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: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'drivers/cpuidle')
0 files changed, 0 insertions, 0 deletions