SCHED_MC Full Idle support for Android

Registered by Tony Mansson

Session jointly led remotely by Vincent Guittot and locally arbitrated by Tony Mansson.

In this session we will talk about how Android can exploit the benefits of full Idle Support.

Blueprint information

Zach Pfeffer
Tony Mansson
Tony Mansson
Series goal:
Accepted for 2011q4
Milestone target:
milestone icon connect-q4.11
Started by
Zach Pfeffer
Completed by
Zach Pfeffer

Related branches



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 is necessary. As the currently most product compatible UI stack, Android can help ensure that the sched_mc work has a positive impact on power consumption.

This requirement covers integration of sched_mc into two Linaro Android LEBs. It includes producing fixes for scheduler behaviour and other potential problems that might prevent sched_mc from turning off a core when the system is sufficiently idle.

Session BP:

Background information:

Using ched_mc without cpuidle is not so interesting as benefits are hard to measure.
There is a cpuidle implementation for Pandaboard, git:// by Kevin Hilman, the OMAP power management maintainer. This is aimed for Kernel 3.2. We can

- A five minute recap regarding the current status of sched_mc and cpuidle for ARM.
- A short overview of the interfaces.
- Directions. Improving Android? Services? Apps? Tools?
- Short term goals. 11.11, 11.12. Create blueprints.

1. Ideas and proposals for deliverables that can demonstrate the benefits of full idle on Android and Ubuntu. It could be descriptions of libraries, Apps, Interactive or scriptable ways to change and evaluate different settings, use cases, test cases and generally a deeper understanding of the subject.
2. Some good proposals selected as backlog items.

Notes for the session:

The kernel is a blackbox
Lets get some suggestions
SCHED_MC can only be used with CPU idle
    Does each member company have support
        Implementiation going upstream for 3.2, not multicore, single core
        Tried to push
        Has a minimal CPU idle implementation, does WFI only
        Amit is working on it
    ST Ericsson
        Will clean up over the next 3 months
Are the govenors modules?
Runtime PM framework
Tony Mansson would like proposal
    ? What can we do in Linaro in the next cycles to make the work we're doing in the kernel visible
        We have powertop
            We don't have idle driver
        Whats the target
            Enhance Android
                Upstream AOSP
            Battery screen isn't very useful
        Improve communication
        Hook into runtime_pm statistics
            Android service that exports statistics
            Gives pie charts
            Focuses on user behavior
                Upload statistics to
                Linaro could use this information to do on the fly PM optimization
     Make the communiction 2 way
                Send a new govenor, tweak parameters
            Integrate into LAVA, etc.
    Flag normal vs dev mode
    Can we get your data?
    Need to be able to upgrade the kernel
    Android app


Work Items

This blueprint contains Public information 
Everyone can see this information.