[PATCH v1 00/10] cpuidle: intel_idle: Use ACPI _CST to get idle states information

From: Rafael J. Wysocki
Date: Fri Dec 13 2019 - 04:27:45 EST


Hi All,

The RFC of this does not seem to have attracted much attention, so here goes
the first non-RFC revision.

The purpose of this set of patches is to allow the intel_idle driver to use
C-states information from ACPI _CST on systems where the processor is not
recognized by it.

The first five patches are preparatory (please look into the changelogs for
details) and are not expected to make any functional difference.

Patch [06/10] adds ACPI _CST support to intel_idle so that _CST is used when
the driver does not have a dedicated list of C-states for the given processor.

Patch [07/10] is an update of https://patchwork.kernel.org/patch/11256815/.

Patch [08/10] changes intel_idle to also use ACPI _CST in specific cases when
there is a tables of C-states for the given processor in the driver (it will
use the _CST information to decide which C-state to enable by default then).

Patch [09/10] adds a module parameter called "no_acpi" that can be used to
prevent intel_idle from using ACPI _CST via the kernel command line.

Finally, the last patch makes intel_idle use ACPI _CST, if available, on all
server systems supported by it.

This has been lightly tested on a Dell XPS13 9360 (with an additional patch to
set use_acpi for Kaby Lake). The difference between using the idle states list
from _CST and the built-in one generally appears to be that in the latter case
the processor spends more time in package C-state when the system is idle.

If there are any concerns about this series, please let me know.

For easier access, the patches are available from the intel_idle+acpi branch
in the linux-pm.git tree.

Thanks,
Rafael