ARMPowerManagementInfrastructure

Summary

ARM platforms have increasingly started to map their power management control system to use the in-kernel infrastructure such as cpufreq, cpuidle, clock framework and regulator framework. However, some enhancements are desirable to the kernel infrastructure to create a generic framework that will allow the SoC vendors to do aggressive power management of their hardware without each of them re-inventing the wheel.

This specification is the master specification that lists the common infrastructure improvements desired in the kernel and related tools in order to simplify power management implementation on an ARM platform. The tasks are further broken down and tracked in their own blueprints.

Rationale

ARM SoCs expose to software a lot of information about HW knobs for controlling power consumption. As there is no device/system HW to OS abstraction layer (such as ACPI), these knobs tend to be controlled directly by OS drivers. Additionally, each SoC vendor exposes a superset of the standard ARM power states1 to allow fine-grained control over each component to maximize battery-life. This increases the complexity of the core SoC enablement code inside the kernel as well as the peripheral drivers.

SoC vendors have taken slightly different approaches to implementing their OS power management frameworks. The differences arise for a number of reasons: a lack of design patterns to achieve what they require; due to lack of infrastructure support inside the kernel, and, on occasion, because of intrinsic differences in HW structure. The Power Management WG shall endeavor to identify design patterns that helps with the implementation of the majority of the use cases that vendors care about, without having to invent new infrastructure. To this end, the WG will look at the entire software stack (kernel, middleware, applications and tools) to help optimize power consumption.

User stories

Alice is trying to debug why her ARM-based netbook battery doesn't last very long. She uses powertop on her x86-based laptop running Ubuntu to check what power states her machine uses when idle and see the frequency of processor wakeups. She is unable to do so on her ARM-powered mobile device though, since powertop doesn't support the powerstates on non-ACPI hardware.

There are no other well-known tools that she can use to study what is draining the battery on her ARM-based netbook.

Master Task List

The current list of task we want to work on is here.

BoF agenda and discussion

Any comments regarding this specification here


CategorySpec

  1. Most SoCs contain additional cores (DSP, Video accelerators, etc.) and other peripherals in addition to the ARM core. These need to be included in the SoC's power management architecture (1)

Specs/M/ARMPowerManagementInfrastructure (last edited 2010-09-10 07:40:13 by a91-154-124-12)