Hi,
FreeBSD reports ACPI C-states, while Linux -- CPU C-states. Mapping of
ones into the others is controlled by BIOS and not exposed to the OS.
It is quite likely that ACPI C2 means CPU C3, and ACPI C3 means CPU
C6/C7. When you plug in AC adapter BIOS likely hides ACPI C3 state from
OS, since it makes no much sense to save that little energy, considering
potential performance loss.
On 29.10.2022 11:52, Lester wrote:
Hi,
I'm using FreeBSD 13.1 on a Thinkpad T420 and noticed 1) with AC plugged
in I only get C1 and C2 recognized 2) with only battery I get C1, C2 and
C3. I also have Debian Linux installed on the same machine, under which
I can get C6 and C7 too (I noticed there's a ssdt6 for Cpu0Cst which
defines all the C states).
I was wondering if Debian has some SSDT override that provides the
additional states? From reading FreeBSD's acpi doc, I got the sense that
I can override the DSDT, but don't know what I need to change, and how
to get all the override files combined into a single aml file...
Questions: 1) How can I get C3 working on AC? 2) How can I get C6 and C7
working too? I'm sharing my acpidump results in this folder:
https://drive.google.com/drive/folders/1q0pY_2fO96RcQCN929sLLtYPpiokVTC3?usp=sharing <https://drive.google.com/drive/folders/1q0pY_2fO96RcQCN929sLLtYPpiokVTC3?usp=sharing>
Many thanks!
== AC
hw.acpi.cpu.cx_lowest: C8
dev.cpu.1.cx_method: C1/hlt C2/io
dev.cpu.1.cx_usage_counters: 124 817
dev.cpu.1.cx_usage: 13.17% 86.82% last 54us
dev.cpu.1.cx_lowest: C8
dev.cpu.1.cx_supported: C1/1/1 C2/3/104
dev.cpu.0.cx_method: C1/hlt C2/io
dev.cpu.0.cx_usage_counters: 70 520
dev.cpu.0.cx_usage: 11.86% 88.13% last 5508us
dev.cpu.0.cx_lowest: C8
dev.cpu.0.cx_supported: C1/1/1 C2/3/104
== Battery
hw.acpi.cpu.cx_lowest: C8
dev.cpu.1.cx_method: C1/hlt C2/io C3/io
dev.cpu.1.cx_usage_counters: 1946 106 11173
dev.cpu.1.cx_usage: 14.71% 0.80% 84.48% last 85us
dev.cpu.1.cx_lowest: C8
dev.cpu.1.cx_supported: C1/1/1 C2/2/80 C3/3/109
dev.cpu.0.cx_method: C1/hlt C2/io C3/io
dev.cpu.0.cx_usage_counters: 1767 105 7127
dev.cpu.0.cx_usage: 19.63% 1.16% 79.19% last 15us
dev.cpu.0.cx_lowest: C8
dev.cpu.0.cx_supported: C1/1/1 C2/2/80 C3/3/109
== Linux
cpupower idle-info
CPUidle driver: intel_idle
CPUidle governor: menu
analyzing CPU 0:
Number of idle states: 6
Available idle states: POLL C1 C1E C3 C6 C7
POLL:
Flags/Description: CPUIDLE CORE POLL IDLE
Latency: 0
Usage: 16099
Duration: 264781
C1:
Flags/Description: MWAIT 0x00
Latency: 2
Usage: 7103
Duration: 1039428
C1E:
Flags/Description: MWAIT 0x01
Latency: 10
Usage: 30433
Duration: 6118359
C3:
Flags/Description: MWAIT 0x10
Latency: 80
Usage: 11891
Duration: 4311399
C6:
Flags/Description: MWAIT 0x20
Latency: 104
Usage: 77
Duration: 26683
C7:
Flags/Description: MWAIT 0x30
Latency: 109
Usage: 157291
Duration: 433120357
--
Alexander Motin