KernelLucidSuspendResumeImprovements

Revision 6 as of 2009-11-20 07:18:30

Clear message

Summary

Suspend/Resume user experience in karmic is quiet remarkable. On our benchmark hardware, Dell Mini10V with SSD for storage, I am able to suspend in .8s and resume in 1.6s on an average. Our aim is to expand this Suspend/Resume experience in Lucid for other hardware configurations as well.. Major pain points in improving suspend/resume are , proprietary drivers, staging drivers etc.

The aim in karmic is

  • identify drivers that take long time to suspend/resume
  • analyze bugs on suspend/resume and find common points of failure.
  • improve logging infrastructure of pm-suspend/pm-resume utils.
  • identify and tag frequency of suspend/resume failure in bugs.

Release Note

This effort is a continuation of the work that was done for Karmic cycle, it will not improve user experience for the case where proprietary/staging drivers are involved.

Diagnosing and Fixing suspend/resume/ bugs

  • identify known hardware that causes suspend/resume issues
  • document step-by-step instruction on how to diagnose problems
  • larger community/upstream involvement in fixing known suspend/resume issues
  • use existing testcases for suspend/resume testing for Lucid.

Assumptions

We will follow up on bugs that are:

  • Suspend/Resume bugs reported on non-proprietary/staging drivers.
  • Suspend/Resume bugs are not related to bios issues.

Design

  • Measure suspend/Resume times for drivers
  • Report suspend/Resume failure frequency in bugs
  • Improve pm tools
  • Analyze data for existing bugs and identify common failure points.

Implementation

  • Instrument the kernel to report suspend/resume times for drivers & potentially use a variation of boot chart to provide a visual representation.

  • Currently pm logs are truncated, this behavior needs to be changed, and logs needs to be rotated.
  • Report frequency of failure in the bugs by gathering data from the pm logs, this will help us prioritize bugs.
  • Review pm utils and make improvements and optimizations in the code.
  • We have several bugs filed for suspend/resume, we need to (programmaticaly) analyse this data and identify pain points, identify the components that contribute towards failure.

Test/Demo Plan

  • Continue to conduct checkbox based testing on suspend/resume tests at sprints or Linux Fests. Get users to report bugs.

Diagnosing and Fixing suspend/resume/ issues

  • larger community involvement in triaging suspend/resume issues
  • track upstream improvements to suspend and resume.
  • detailed Wiki on troubleshooting guide/documentation

References


CategorySpec