an embedded perspective on linux power management



Similar documents
Power Management in the Linux Kernel

Agenda. Context. System Power Management Issues. Power Capping Overview. Power capping participants. Recommendations

Android Operating System:

Beyond Virtualization: A Novel Software Architecture for Multi-Core SoCs. Jim Ready September 18, 2012

HDMI on OMAP4 PANDA. Design, Challenges and Lessons Learned Mythri P K

Mentor Embedded Automotive Solutions

Xen Project 4.4: Features and Futures. Russell Pavlicek Xen Project Evangelist Citrix Systems

CSE597a - Cell Phone OS Security. Cellphone Hardware. William Enck Prof. Patrick McDaniel

TI Linux and Open Source Initiative Backgrounder

Mobile Devices - An Introduction to the Android Operating Environment. Design, Architecture, and Performance Implications

Universal Flash Storage: Mobilize Your Data

Use-Case Power Management Optimization: Identifying & Tracking Key Power Indicators ELC- E Edimburgh, Patrick Ti:ano

Common clock framework: how to use it

IO latency tracking. Daniel Lezcano (dlezcano) Linaro Power Management Team

Customer Experience. Silicon. Support & Professional Eng. Services. Freescale Provided SW & Solutions

Getting maximum mileage out of tickless

A way towards Lower Latency and Jitter

A Brief Tutorial on Power Management in Computer Systems. David Chalupsky, Emily Qi, & Ilango Ganga Intel Corporation March 13, 2007

1. PUBLISHABLE SUMMARY

A Taxonomy and Survey of Energy-Efficient Data Centers and Cloud Computing Systems

Embedded Systems. 6. Real-Time Operating Systems

Camera Sensor Driver Development And Integration

Local Interconnect Network Training. Local Interconnect Network Training. Overview

Mobile Devices - An Introduction to the Android Operating Environment. Design, Architecture, and Performance Implications

Mobile Operating Systems. Week I

Region Free DVD Playback with VLC. By Mikio Moriyasu

Berlin Institute of Technology FG Security in Telecommunications

How To Make A Minecraft Iommus Work On A Linux Kernel (Virtual) With A Virtual Machine (Virtual Machine) And A Powerpoint (Virtual Powerpoint) (Virtual Memory) (Iommu) (Vm) (

Trusted computing applied in Open Power Linux

on-chip and Embedded Software Perspectives and Needs

EVALUATING POWER MANAGEMENT CAPABILITIES OF LOW-POWER CLOUD PLATFORMS. Jens Smeds

EECS 750: Advanced Operating Systems. 01/28 /2015 Heechul Yun

Status and Direction of Kernel Development

Multiprocessor System-on-Chip

Real-Time Operating Systems for MPSoCs

Host Power Management in VMware vsphere 5

EMBEDDED X86 PROCESSOR PERFORMANCE RATING SYSTEM

Resource Utilization of Middleware Components in Embedded Systems

About Us. Technology Solutions & Services Company. Turn Innovative Ideas into Real Products & Software, Efficiently

The MeeGo Multimedia Stack. Dr. Stefan Kost Nokia - The MeeGo Multimedia Stack - CELF Embedded Linux Conference Europe

Enhancing Hypervisor and Cloud Solutions Using Embedded Linux Iisko Lappalainen MontaVista

Stefan Schmidt. LinuxTag

Business Life Path - Red Hat, CFS roadmap

big.little Technology Moves Towards Fully Heterogeneous Global Task Scheduling Improving Energy Efficiency and Performance in Mobile Devices

What s New in Mike Bailey LabVIEW Technical Evangelist. uk.ni.com

Mobile Devices and Systems Lesson 02 Handheld Pocket Computers and Mobile System Operating Systems

Linux VM Infrastructure for memory power management

High Performance or Cycle Accuracy?

ò Scheduling overview, key trade-offs, etc. ò O(1) scheduler older Linux scheduler ò Today: Completely Fair Scheduler (CFS) new hotness

ESE566 REPORT3. Design Methodologies for Core-based System-on-Chip HUA TANG OVIDIU CARNU

Realtime Linux Kernel Features

Android Virtualization from Sierraware. Simply Secure

Senior Software Engineer at Sony Mobile Communications Architecture Group Chair of the CE Workgroup at the Linux Foundation Former CTO of Lineo, an

A case study of mobile SoC architecture design based on transaction-level modeling

Easy H.264 video streaming with Freescale's i.mx27 and Linux

How mobile operators can monetize 3G investments through an effective applications platform

Cloud Computing Backgrounder

XI'AN NOVASTAR TECH CO., LTD

Understand and Build Android Programming Environment. Presented by: Che-Wei Chang

Lecture Embedded System Security Dynamic Root of Trust and Trusted Execution

GHG Protocol Product Life Cycle Accounting and Reporting Standard ICT Sector Guidance. Chapter 7:

Deeply Embedded Real-Time Hypervisors for the Automotive Domain Dr. Gary Morgan, ETAS/ESC

COS 318: Operating Systems. Virtual Machine Monitors

Republic Polytechnic School of Information and Communications Technology C226 Operating System Concepts. Module Curriculum

Thomas Fahrig Senior Developer Hypervisor Team. Hypervisor Architecture Terminology Goals Basics Details

Avoiding pitfalls in PROFINET RT and IRT Node Implementation

Hardware accelerated Virtualization in the ARM Cortex Processors

Operating Systems (Linux)

Mobile Operating Systems Lesson 03 PalmOS Part 1

Inside Android's UI Embedded Linux Conference Europe 2012 Karim

Operating Systems. Lecture 03. February 11, 2013

System Software Integration: An Expansive View. Overview

ANDROID DEVELOPER TOOLS TRAINING GTC Sébastien Dominé, NVIDIA

Performance of Host Identity Protocol on Nokia Internet Tablet

NEC Corporation of America Intro to High Availability / Fault Tolerant Solutions

Storage Class Memory Support in the Windows Operating System Neal Christiansen Principal Development Lead Microsoft

CSE 120 Principles of Operating Systems. Modules, Interfaces, Structure

ECU State Manager Module Development and Design for Automotive Platform Software Based on AUTOSAR 4.0

Lecture 25 Symbian OS

How to Perform Real-Time Processing on the Raspberry Pi. Steven Doran SCALE 13X

Introduction to Embedded Systems. Software Update Problem

Comparing Power Saving Techniques for Multi cores ARM Platforms

Using EDF in Linux: SCHED DEADLINE. Luca Abeni

Control period can have high frequency (short control frame) ex: 0.1kHz - 1kHz in robot controllers

Mark Bennett. Search and the Virtual Machine

Mobile Processors: Future Trends

Linux Load Balancing

Useful USB Gadgets on Linux

Virtual Private Systems for FreeBSD

How Solace Message Routers Reduce the Cost of IT Infrastructure

QoS and Communication Performance Management

Introduction to Operating Systems. Perspective of the Computer. System Software. Indiana University Chen Yu

Open Source Software

Chapter 2 System Structures

Overview of CS 282 & Android

Abstract: Motivation: Description of proposal:

Secure Containers. Jan Imagination Technologies HGI Dec, 2014 p1

Real-time KVM from the ground up

Software Engagement with Sleeping CPUs

PrioVR Production Plan:

Transcription:

an embedded perspective on linux power management discussions on pm technology by a guy who works for an embedded Linux OS vendor Todd Poynor MontaVista Software

embedded pm today increasing hardware pm complexity uncertainty as to what saves power ce focus on device pm not clock scaling pm remains a top challenge for mobile devices

community and commerce os product using non-mainline dvfs mechanism advantages to sync up with a community solution hoping summit sets direction for embedded dvfs proposing concepts from dpm for upstream osv adds value on standard framework

the powerop hardware layer manages sets of arbitrary power parameters just the dpm operating point a bstraction geared toward embedded hardware dpm and cpufreq can share board-specific code or maybe linux-pm has more ambitious plans

powerop illustrated cpufreq cpu speed register values computed from cpu speed dpm/embedded pass thru parameters for register values powerop set/get hardware registers

dpm maps states to operating points policy P runs operating point O at state S system states include idle, per-task states, sleep conserve power during brief idle periods apps can manage own custom state if desired power state can be tied to scheduling priority

resolve clocking conflicts per policy what to do when device D needs clock C rate R? dpm makes system designer choose in advance chooses a valid operating point from that set driver model extended with clock constraints

device management is hot formerly less complex, big savings now multiple power and clock domains with multiple power states and latencies set policy via driver model or state->op style pm platform bus probably needs extensions

more topics of interest power event notification to userspace reducing sources of unneeded idle ticks assigning tasks to specific memory banks

an embedded perspective on linux power management discussions on pm technology by a guy who works for an embedded Linux OS vendor Todd Poynor MontaVista Software 1 Presented at the CELF Embedded Systems Conference 2006, and a portion at the 2006 Linux PM Summit.

embedded pm today increasing hardware pm complexity uncertainty as to what saves power ce focus on device pm not clock scaling pm remains a top challenge for mobile devices 2 Compare sizes of power/clocking chapter of an SoC family technical reference manual: past version ~115 pages, recent ~285, upcoming >400 pages (thanks R Woodruff). h/w makers unsure how s/w will use features ( how should dpm be implemented on our new board? ). s/w makers unsure how to best use h/w pm features ( how should we use dpmon the new board? ). osv often the meeting point between the two. a number of products only do device mgmt, no dvfs; dvfs considered complicated, a source of instability and less bang for buck. Mark VandenBrink, Mot director of mobile devices s/w, NewForge interview T Bird sent out PM primary challenge.

community and commerce os product using non-mainline dvfs mechanism advantages to sync up with a community solution hoping summit sets direction for embedded dvfs proposing concepts from dpm for upstream osv adds value on standard framework 3 These are a developer s recommendations on the subject, not a statement of MontaVista Software. DPM is the supported DVFS solution in the Mobilinux product, which is not in kernel.org. OSVs can add value around a standard framework; adding an entire non-standard DVFS mechanism not the best place to be. The PowerOP proposal is a step in that direction. Plenty of room for OSV value add: initial board development, integrated offerings with preselected power policies, add policy selection technologies such as ARM IEM, etc.

the powerop hardware layer manages sets of arbitrary power parameters just the dpm operating point a bstraction geared toward embedded hardware dpm and cpufreq can share board-specific code or maybe linux-pm has more ambitious plans 4 A proposed platform-specific API. Suited for manipulating multiple power parameters independently, such as for Xscale PXA2xx Wireless Speedstep, OMAP, i.mx31... Assumes we will continue to have cpufreq for desktop/laptop systems managed primarily by cpu speed (and often with ACPI, PM in BIOS) vs. embedded frameworks such as DPM (that manage more PM state in Linux). But it s not certain that the two worlds cannot be merged into one set of s/w. Could be subsumed by linux-pm directions toward a full PM stack. Found interest in tackling these and other topics when PowerOP discussed on list.

powerop illustrated cpufreq cpu speed register values computed from cpu speed dpm/embedded pass thru parameters for register values powerop set/get hardware registers 5 Hardware registers might include: multipliers and dividers that produce clocks for core PLL, bus, CPU, and peripheral-specific clocks such as LCD pixel clock voltage regulator values to set core voltage and pseudo-registers that set other behavior not easily described by a small set of hardware registers, such as clock domain autogating policy or suspend states Valid combinations of these are an operating point. Where these come from, which ones available, etc. are the upper layer s job.

dpm maps states to operating points policy P runs operating point O at state S system states include idle, per-task states, sleep conserve power during brief idle periods apps can manage own custom state if desired power state can be tied to scheduling priority 6 Much of the design from IBM Austin Research Lab, prototyped on cutting edge low-power PDA reference designs, heavily analyzed. The system sets states ; the policy determines what operating point to activate for that state. Idle hook assume system can conserve power by modifying params during brief idle periods, as with multimedia playback. All policy management normally in userspace. IBM mpeg4 decoding example, watches rt deadlines and adjusts power/performance to meet. Tying task power state to scheduler priority avoids PM priority inversion.

resolve clocking conflicts per policy what to do when device D needs clock C rate R? dpm makes system designer choose in advance chooses a valid operating point from that set driver model extended with clock constraints 7 Dpm doesn t try to resolve conflicts between device needs and current operating point on its own. System designer creates sets of operating points that handle the possible device-constrained situations. Add operating points that conserve more power when devices don t need it, dpm chooses a valid operating point at runtime. struct device has new field for constraining ranges of operating point power parameter values, identified by symbols for the associated clock and a range of values.

device management is hot formerly less complex, big savings now multiple power and clock domains with multiple power states and latencies set policy via driver model or state->op style pm platform bus probably needs extensions 8 Power/clock domains and management needed is now making device pm at least as complicated as runtime dvfs. Different ways of setting policies for the states of these being prototyped. Tendency to move embedded devices to minimal platform bus and to move more processing into bus code makes it harder to add these types of features. May need to extend platform bus with system-specific handling of PM features, capture actual bus topologies, etc.

more topics of interest power event notification to userspace reducing sources of unneeded idle ticks assigning tasks to specific memory banks 9 ACPI uses /proc interface specific to ACPI, embedded can use something, should be kobject uevent / D- Bus? In additional to dynamic tick / tickless idle, VST reduces periodic tasks when not needed, avoiding need to wakeup at the request of subsystem that does not need work to be done upon wakeup. MTA Memory Type Allocation for assigning tasks to specific memory banks. Can kill all tasks for a specific bank and power down that bank. Based on NUMA support. CELF member companies have been involved in work on some of these.