You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The process begins when powerd (or some other process) decides that the system should be suspended. Suspender receives a request to suspend the system and generates an ID corresponding to the request. It performs pre-suspend preparation, such as muting audio and turning off the panel backlight. Then, it emits a SuspendImminent D-Bus signal to announce the suspend request to other processes (particularly ones that have registered suspend delays).
If the suspend attempt fails, Suspender waits for ten seconds before running powerd_suspend again to retry. After ten failed retries, the system is shut down.
In the end powerd writes to /sys/power/state which compared to powerd is the only thing that rtcwake does.
Resume differences
strace shows that rtcwake performs two ioctl(/dev/rtc0): ioctl(3, RTC_RD_TIME,...) and ioctl(3, RTC_WKALM_SET,...)
Instead, the source of suspend_stress_test shell script shows it writes to /sys/class/rtc/wakealarm.
This is hopefully equivalent.
Hardware and firmware differences
sof-test tests "desktop" Linux distros (mostly: Ubuntu) with either UEFI or custom coreboot whereas ChromeOS' suspend_stress_test tests... ChromeOS' Linux and production coreboot.
Due to signature restrictions, sof-test tests prototype hardware (with the exception of Up boards) whereas suspend_stress_test tests production chromebooks.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
As requested by @ranj063
https://chromium.googlesource.com/chromiumos/platform/power_manager/+/stabilize-4537.147.B/tools/suspend_stress_test
Suspend differences
From https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/power_manager/docs/suspend_resume.md
In the end
powerd
writes to/sys/power/state
which compared topowerd
is the only thing thatrtcwake
does.Resume differences
strace
shows thatrtcwake
performs twoioctl(/dev/rtc0)
:ioctl(3, RTC_RD_TIME,...)
andioctl(3, RTC_WKALM_SET,...)
Instead, the source of
suspend_stress_test
shell script shows it writes to/sys/class/rtc/wakealarm
.This is hopefully equivalent.
Hardware and firmware differences
sof-test tests "desktop" Linux distros (mostly: Ubuntu) with either UEFI or custom coreboot whereas ChromeOS'
suspend_stress_test
tests... ChromeOS' Linux and production coreboot.Due to signature restrictions, sof-test tests prototype hardware (with the exception of Up boards) whereas
suspend_stress_test
tests production chromebooks.cc:
Beta Was this translation helpful? Give feedback.
All reactions