(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
Q4.11: Sched_mc full idle support for Android
1. SCHED_MC Full Idle support for Android
Tony Mansson (mansson)
Android Platform Team
Supported by Vincent Guittot and Amit Kucheria
Power Management Working Group
2. 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..
3. 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.
4. 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.
5. 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.
6. 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?
7. sched_mc status
● PMWG are polishing sched_mc for upstreaming but it
is not delivered to platforms.
8. sched_mc status
● PMWG are polishing sched_mc for upstreaming but it
is not delivered to platforms.
11. 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.
14. 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
15. 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
16. 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