| Moblin Power Policy Manager |
|
In designing a Linux-based software stack for the Mobile & Internet Linux Project, power management was a fundamental problem. The definition of the problem was simple. This new class of devices is much closer, at the low level, to a PC than to an embedded device. The hardware already has power management capabilities similar to those found on a PC, laptop, and even a server. Technologies, such as ACPI, are a fundamental component of most modern PC hardware, and to the new class of devices we are trying to support.
The second consideration was our use of a general purpose Linux distribution for x86 Intel Architecture platforms, rather than an embedded Linux or special purpose distro.
Keeping these two concepts in mind, we went through the exercise of evaluating the current state of Linux's power management infrastructure. We quickly realized that there is a lot of work already in place addressing power and Linux, but this work is fragmented. There are HAL and D-Bus-based solutions, which have basic functionality; but there are also advanced CPU power management and power management 'aware' drivers and subsystems.
Most of the work is done in the kernel or device drivers, so we decided to pursue a solution that would fill in the gaps, so Linux would have a comprehensive, robust, and extensible power management framework.
Power Policy Manager (PPM): A Reality
The idea of having a policy-based power management framework in Linux is nothing new (so we won't try to take credit for it!) However, we are a team of engineers committed and empowered to make sure such a framework is implemented and supported. The initial motivation is the new class of mobile and Internet devices, however, we want to implement a generic, flexible, and extensible power management framework for Linux, in general. Being extensible will mean that it can easily be optimized for different platforms.
 Power Policy Management diagram (Click to enlarge)
Learn how the Power Policy Manager works.
|
|