Q4.11: Sched_mc full idle support for Android
Upcoming SlideShare
Loading in...5

Q4.11: Sched_mc full idle support for Android



Resource: Q4.11

Resource: Q4.11
Name: Sched_mc full idle support for Android
Date: 28-11-2011
Speaker: Tony Mansson



Total Views
Views on SlideShare
Embed Views



0 Embeds 0

No embeds



Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

Q4.11: Sched_mc full idle support for Android Q4.11: Sched_mc full idle support for Android Presentation Transcript

  • SCHED_MC Full Idle support for Android Tony Mansson (mansson) Android Platform Team Supported by Vincent Guittot and Amit Kucheria Power Management Working Group
  • Description ● Optimizing multicore scheduling through sched_mc is a core topic for Linaro's Power Management WG. However, to prove its benefit, integration into a full UI stack (platform) is necessary. ● We are the Android team, but... alignment with the Developer Platform Team is desirable..
  • Clarification of scope ● Sched_mc depends on cpuidle for visible benefits. Therefore we only consider systems with both sched_mc and cpuidle. ● Today we talk about the view from user space.
  • Goals ● Ideas and proposals for deliverables that can demonstrate the benefits of sched_mc and cpuidle on Android and Ubuntu. ● Some good proposals selected as backlog items.
  • Such as... ● Libraries ● Services (daemons) ● Apps ● Interactive or scriptable ways to change and evaluate different settings ● Use cases ● Test cases ● A deeper understanding of the subject.
  • cpuidle status ● Freescale: git://git.linaro.org/people/rob_lee/imx_cpuidle.git imx_mx5_mx51 ● TI: There is a cpuidle implementation for Pandaboard, git://gitorious.org/omap-sw-develoment/linux-omap-dev.git by Kevin Hilman, the OMAP power management maintainer. ● Samsung: git://git.linaro.org/people/amitdanielk/linux.git samsung_cpuidle_l2_retention. ● But: Russel King rejects all these and wants a common ARM implementation?
  • sched_mc status ● PMWG are polishing sched_mc for upstreaming but it is not delivered to platforms.
  • sched_mc status ● PMWG are polishing sched_mc for upstreaming but it is not delivered to platforms.
  • sched_mc interface /sys/devices/system/cpu/ contains a number of tunable settings. ● sched_mc_power_savings. [0..2]
  • Cpuidle interface (read-only) See http://processors.wiki.ti.com/index.php/File:Cpuidle.png Question: are governors modules? => runime replacement. ● /sys/devices/system/cpu/cpuidle ● /sys/devices/system/cpu/cpu<x>/cpuidle/
  • PM Quality Of Service Interface. This interface provides a kernel and user mode interface for registering performance expectations by drivers, subsystems and user space applications on one of the parameters. Two different PM QoS frameworks are available: 1. PM QoS classes for cpu_dma_latency, network_latency, network_throughput.
  • Example 1: ● ?
  • Example 2: Powertutor
  • Powertutor ● Developed by University of Michigan and Northwestern University in the “Empathic Systems” Project ● Available at google Market ● Logs user behavior ● Sends data back home from all users ● Open source
  • Log data format ● time 1319909554393 ● localtime_offset 7200000 ● model dream ● associate 10047 android.uid.calendar:10047@10 ● associate 10165 com.radioactiveyak.earthquake@22 ● associate 10104 com.android.inputmethod.norwegian@15 ● begin 1 ● total-power 620 ● LCD 533 ● LCD-brightness 102 ● LCD-screen-on true ● LCD-10132 533 ● CPU 87 ● CPU-sys 26 ● CPU-usr 0
  • Proposal: ● Reinstate log file transfer (now stubbed) ● Provide remote interface for controls ● Make available in Linaro Market ● Collect real usage data for different governor or other settings ● Create realistic LAVA test suite ● Use log as benchmark for PM improvements