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.
There's no dependable fix, so **never set `mem_sleep_default=deep`**
while neon's root is on the microSD slot.
- `s2idle` keeps USB powered and has worked for months. Whether it
reaches S0ix (the package's deepest idle) is shown by
`/sys/devices/system/cpu/cpuidle/low_power_idle_system_residency_us`
growing across a suspend.
- `s2idle` keeps USB powered and has worked for months. **It does
reach S0ix**: in a 44s lid-close test (2026-09-28),
`/sys/kernel/debug/pmc_core/slp_s0_residency_usec` (needs root)
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