## page was renamed from Specs/M/ARMKernelPowerManagementInfrastructure ##(see the SpecSpec for an explanation) ||<>|| * '''Launchpad Entry''': https://blueprints.launchpad.net/linaro-pm-wg/+spec/arm-power-management-infrastructure * '''Created''': AmitKucheria * '''Contributors''': AmitKucheria * '''Packages affected''': linux == 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 states<> 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 [[https://wiki.linaro.org/WorkingGroups/PowerManagement/TaskList|here]]. == BoF agenda and discussion == Any comments regarding this specification here ---- CategorySpec