Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 29 Oct 2022 11:52:47 -0400
From:      Lester <lesterz@gmail.com>
To:        freebsd-acpi@freebsd.org
Subject:   How to get deeper C states working?
Message-ID:  <CABSuQKNKDCs7ZTehiKSy5_df5kFFVoHZihoBODPeBg%2BVfr=0Fg@mail.gmail.com>

index | next in thread | raw e-mail

[-- Attachment #1 --]
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

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

[-- Attachment #2 --]
<div dir="ltr">Hi,<div><br></div><div>I&#39;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&#39;s a ssdt6 for Cpu0Cst which defines all the C states).</div><div><br></div><div>I was wondering if Debian has some SSDT override that provides the additional states? From reading FreeBSD&#39;s acpi doc, I got the sense that I can override the DSDT, but don&#39;t know what I need to change, and how to get all the override files combined into a single aml file...</div><div><br></div><div>Questions: 1) How can I get C3 working on AC? 2) How can I get C6 and C7 working too? I&#39;m sharing my acpidump results in this folder: <a href="https://drive.google.com/drive/folders/1q0pY_2fO96RcQCN929sLLtYPpiokVTC3?usp=sharing">https://drive.google.com/drive/folders/1q0pY_2fO96RcQCN929sLLtYPpiokVTC3?usp=sharing</a></div><div><br></div><div>Many thanks!</div><div><br></div><div>== AC</div><div>hw.acpi.cpu.cx_lowest: C8<br>dev.cpu.1.cx_method: C1/hlt C2/io<br>dev.cpu.1.cx_usage_counters: 124 817<br>dev.cpu.1.cx_usage: 13.17% 86.82% last 54us<br>dev.cpu.1.cx_lowest: C8<br>dev.cpu.1.cx_supported: C1/1/1 C2/3/104<br>dev.cpu.0.cx_method: C1/hlt C2/io<br>dev.cpu.0.cx_usage_counters: 70 520<br>dev.cpu.0.cx_usage: 11.86% 88.13% last 5508us<br>dev.cpu.0.cx_lowest: C8<br>dev.cpu.0.cx_supported: C1/1/1 C2/3/104<br></div><div><br></div><div>== Battery</div><div>hw.acpi.cpu.cx_lowest: C8<br>dev.cpu.1.cx_method: C1/hlt C2/io C3/io<br>dev.cpu.1.cx_usage_counters: 1946 106 11173<br>dev.cpu.1.cx_usage: 14.71% 0.80% 84.48% last 85us<br>dev.cpu.1.cx_lowest: C8<br>dev.cpu.1.cx_supported: C1/1/1 C2/2/80 C3/3/109<br>dev.cpu.0.cx_method: C1/hlt C2/io C3/io<br>dev.cpu.0.cx_usage_counters: 1767 105 7127<br>dev.cpu.0.cx_usage: 19.63% 1.16% 79.19% last 15us<br>dev.cpu.0.cx_lowest: C8<br>dev.cpu.0.cx_supported: C1/1/1 C2/2/80 C3/3/109<br></div><div><br></div><div><br></div><div>== Linux</div><div>cpupower idle-info<br>CPUidle driver: intel_idle<br>CPUidle governor: menu<br>analyzing CPU 0:<br><br>Number of idle states: 6<br>Available idle states: POLL C1 C1E C3 C6 C7<br></div><div>POLL:<br>Flags/Description: CPUIDLE CORE POLL IDLE<br>Latency: 0<br>Usage: 16099<br>Duration: 264781<br>C1:<br>Flags/Description: MWAIT 0x00<br>Latency: 2<br>Usage: 7103<br>Duration: 1039428<br>C1E:<br>Flags/Description: MWAIT 0x01<br>Latency: 10<br>Usage: 30433<br>Duration: 6118359<br>C3:<br>Flags/Description: MWAIT 0x10<br>Latency: 80<br>Usage: 11891<br>Duration: 4311399<br>C6:<br>Flags/Description: MWAIT 0x20<br>Latency: 104<br>Usage: 77<br>Duration: 26683<br>C7:<br>Flags/Description: MWAIT 0x30<br>Latency: 109<br>Usage: 157291<br>Duration: 433120357<br></div></div>
home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CABSuQKNKDCs7ZTehiKSy5_df5kFFVoHZihoBODPeBg%2BVfr=0Fg>