Programming for Low Power Usage: It's Everyone's Responsibility
Arjan van de Ven, Intel
Date: Wednesday, July 25
Time: 2:35pm - 3:20pm
Keeping power usage to a minimum is the job of all software components of a system
Before going into design practices, it's important to explain hardware properties: what uses power, what system behavior is needed to engage power saving features.
The kernel offers support for the power saving hardware features. The tickless-idle feature is only the most recent feature in the list. In addition I will give a brief introduction to cpufreq and it's architecture and to the various governers that implement power management policies.
First a few examples of really bad behavior are given, with processes that wake the processor up all the time. Then "cstop" is introduced, a tool to measure which processes are misbehaving. Finally several best practices are discussed to help write applications in a way that minimizes system power usage, such as reducing of polling, rounding/coalescing of the wake up moments, "run-and-sleep" versus "walk all the time".