Sponsors

Platinum Sponsors

  • Intel
  • IBM

Gold Sponsors

  • NetApp

Silver Sponsors

  • HP
  • Google
  • MontaVista
  • Sandisk

Collaborators

  • Portland State University
  • Linux Foundation

Press Partners

  • Linux Journal
  • Linux Weekly News
  • Linux Pro Magazine

Sponsorship opportunities

For more information on sponsorship opportunities, please contact Angela Brown. Linux Plumbers Conf sponsorship packages.

OLPC Power Management Challenges - Deepak Saxena and Chris Ball

Biography

Chris Ball has been working for OLPC since mid-2006, and maintains OLPC's build of the OHM (Open Hardware Manager) policy daemon for power management. He also works on automated testing and development of the OLPC user interface, Sugar.

Deepak Saxena recently joined OLPC to work on all things kernel related and prior to that Deepak was the lead kernel maintainer at MontaVista software, a position in which he focused on various areas including merging patches, providing direction on technology roadmaps, and developing processes. Previous to that role he was the maintainer of the Linux kernel port to the Intel IXP4xx and IXP2xxx network processors found on various WiFi, WiMax, and cellular routers. When not hacking, Deepak likes to go on bike rides, cook with fresh local seasonal ingredients, seek out good beer, and travel around the world.

Abstract

The One Laptop Per Child project faces the challenge of developing a laptop that can be used for between 10 and 20 hours on a single battery charge. The XO laptop has been designed with hardware to support these goals such as a low power CPU and a display controller that can keep the screen in refresh while the CPU is off. We now face the challenge of improving the software stack to push the energy envelope further. In this talk, we will summarize some of the challenges we are facing and some of the modifications we may need to the kernel and other plumbing layers to achieve our goals. Issues include but are not limited to:

  • We would like to aggressively suspend/resume the laptop, putting the system to sleep anytime the user is not directly interacting with the interface or using the CPU heavily. To do this in a way that it is not noticeable to the user requires an extremely fast resume time, which in turn requires rearchitecting the suspend/resume paths in the kernel to allow for delayed resume of devices that are not needed for the UI to continue to run.
  • In addition to reducing the resume time above, we require a method to trigger sleep based on CPU and device idleness. One option is the "Sleepy Linux" approach, but there may be other approaches that are more acceptable to upstream kernel and userpace community.
  • The XO laptop provides a method to enable/disable wakeup events from its devices and we have developed custom interfaces via sysfs to enable/disable these and to determine which event woke us up. We are interested in exposing this as a standard platform-level event in the kernel.