Platinum Sponsors

  • Intel
  • IBM

Gold Sponsors

  • NetApp

Silver Sponsors

  • HP
  • Google
  • MontaVista
  • Sandisk


  • 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.

Non-power management interfaces and power management - Oliver Neukum


No biography provided


This talk is about the effect of API design on power management. In that regard the emphasis is not on the power management API itself, but on APIs for actual IO and device configuration.

The existing APIs for these purposes are compared to each other and to the needs of power management. It is shown that certain features and requirements of these APIs greatly influence the ease with which power management can be implemented in a driver in kernel space.

Recent trends in hardware and firmware are discussed and their implications for power management at the kernel level shown. Particular emphasis is put on device configuration and its conservation across reduced power states and total loss of power. To do so, an introduction is given to techniques to resume a device from a complete loss of power and thence state. Consequences of the requirement to fully restore device state for parts of a driver not involved in traditional power management are examined. The impact on API design is shown.

Furthermore, it is shown that ordinary patterns of use in some APIs match closely the simplest pattern used in power management. Implicit reference counts in APIs are identified as core components of easy to implement runtime power management. A strict differentiation between device configuration and actual IO is proposed as the center piece of API design with power management in mind.

Synergies and interdependencies among drivers concerning power management are examined. The factors currently limiting runtime power management from a kernel perspective are identified. Strategies for getting the quality of runtime power management in the kernel to a level where effective runtime power management will become reality are derived.

Lastly, interactions between drivers concerning power management operations are discussed. The impact of power management on memory management is shown. Basic limitations on the interactions with user space concerning even runtime power management are derived from those limits.