Summary

Jaunty should be using just one user space method of Suspend/Resume/Hibernate and sticking to this one method rather than having several different alternative implementations.

Jaunty needs to improve the overall Suspend/Resume/Hibernate experience. Tracking down broken drivers can be a pain. To facilitate this, better troubleshooting assistance is required, ranging from a one-stop-shop trouble shooting Wiki guide, suitable quirk checking tools and well documented trouble debug strategies to help identify and fix buggy suspend/resume/hibernate issues.

For laptop users the suspend policy should depend on the method of suspend. Clients such as Transmission Bittorrent can block a suspend event when initiated via menu selection or key press, however if the suspend is caused by the lid switch then the laptop should just suspend with no option for anything to block the suspend.

Release Note

Rationale

Userland control of suspend/resume/hibernate

There needs to be some rationalisation in the way suspend/resume/hibernate is controlled from user space as there are several existing methods available:

The acpi-support method of suspend/resume should be removed as it is legacy and should be transitioned into hal-info and pm-utils. Having this method as well as pm-utils seems unjustifiable - it is a different suspend/resume mechanism to pm-utils and the duplication of different suspend/resume functionality is confusing and not helpful.

Either we continue with pm-utils or move to DeviceKit-power (which is supported by the new gnome-power-manager for GNOME 2.26). Depending on the choice, we should just have one solution for suspend/resume/hibernate instead of many.

Diagnosing and Fixing suspend/resume/hiberate

Diagnosing and hence fixing broken suspend/resume/hibernate needs to easier. A Community based Wiki tutorial or troubleshooting guide (such as http://people.freedesktop.org/~hughsient/quirk/quirk-suspend-debug.html) needs to be written as the de-facto reference page to help users to:

Also having a program/script that can test for known quirks and suggest pm-suspend workarounds would be helpful.

Debugging suspend/resume/hibernate issues can be notoriously difficult; being able do dump kernel messages early to a serial console is useful. However modern PCs do not have legacy serial port hardware, so providing a USB serial console driver in initramfs is required.

Use Cases

Assumptions

Design

Implementation

pm-utils Quirk Checking Scripts

The Quirk checking script http://people.freedesktop.org/~hughsient/quirk/quirk-checker.sh perhaps could be included into the disto to help users pin-point suspend/resume quirks.

Initramfs Changes

To facilitate the debug via USB Serial console, the USB serial console kernel driver needs to be included into initramfs. The user needs to also add in the appropriate USB console boot parameter, e.g.

console=ttyUSB0,9600 no_console_suspend

This needs to be appropriately documented in the Wiki page.

Migration

Deprecating /etc/acpi/sleep.sh (et al) requires release note documentation at a minimum and perhaps modifications to the acpi-scripts informing the user that these are now deprecated and should not be used.

Test/Demo Plan

Unresolved issues

BoF agenda and discussion

Userland control of suspend/resume/hibernate

Diagnosing and Fixing suspend/resume/hiberate

References


CategorySpec

KernelTeam/Specs/JauntySuspendResumeHibernate (last edited 2008-12-10 22:17:41 by alanbell)