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'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).</div><div><br></div><div>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...</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'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>
