s2idle reaches S0ix (~96% of suspend); note which residency counter to trust

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
ergosteur
2026-09-28 22:14:29 -04:00
co-authored by Claude Opus 5.5
parent 68101627d9
commit 7fe1110ffc
+10 -4
View File
@@ -120,10 +120,16 @@ Tested 2026-09-27. The firmware offers both `s2idle` (default) and `deep`
meant for root on USB storage) was already on and didn't save it. meant for root on USB storage) was already on and didn't save it.
There's no dependable fix, so **never set `mem_sleep_default=deep`** There's no dependable fix, so **never set `mem_sleep_default=deep`**
while neon's root is on the microSD slot. while neon's root is on the microSD slot.
- `s2idle` keeps USB powered and has worked for months. Whether it - `s2idle` keeps USB powered and has worked for months. **It does
reaches S0ix (the package's deepest idle) is shown by reach S0ix**: in a 44s lid-close test (2026-09-28),
`/sys/devices/system/cpu/cpuidle/low_power_idle_system_residency_us` `/sys/kernel/debug/pmc_core/slp_s0_residency_usec` (needs root)
growing across a suspend. grew by ~42.2s, and `package_cstate_show` showed Package C10 ~42.0s.
So ~96% of the suspend was in the deepest idle state, and drain should
be close to S3's. Root stayed `rw` with no I/O errors.
- Use the `pmc_core` counter above, not
`/sys/devices/system/cpu/cpuidle/low_power_idle_system_residency_us`.
That one comes from ACPI LPIT, which isn't wired up properly under
coreboot here: it read 270µs for the same suspend.
## Networking ## Networking