Test big.LITTLE on Android

Registered by Zach Pfeffer

Linaro is taking the lead to bring big.LITTLE to Linux. From http://www.arm.com/products/processors/technologies/bigLITTLEprocessing.php, "big.LITTLE processing addresses one of today’s industry challenges: how to create a System on Chip (SoC) that provides both high performance as well as extreme power efficiency to extend battery life. "

The TSC card is here:

https://linaro.papyrs.com/KWG2012-big-LITTLE-Task-Migration

<email address hidden> is doing the initial implementation.
<email address hidden> is bringing up the A15 model in the LAVA lab.
<email address hidden> and <email address hidden> (tixy) may be able to help us get a simulator up and running locally and work to get Android running on it.

I imagine that we'll want to get Android running on the A15 with the big.LITTLE work from Grant running. Then runs some tests from Grant to validate that its working. We can use TINY_ANDROID to do the work.

-----

Step 1:

Write a small C program, callable from the command line that takes the following arguments

--cpu - optional to specify which CPU
--state - big, little
--frequency - a number in Hz to switch between big and little

Step 2:

Write and submit to AOSP an Android HAL that can control big little switching. Write a test that can test the HAL.

Step 3:

Write a userspace Android program allows a user to switch between big and little and specify a rate of switching. Should also provide a view into powersavings, perhaps using the same mechanism as powertutor.

From Mounir the PM:

Hangouts:
https://plus.google.com/hangouts/extras/linaro.org/118212388148355955219-7618679083?authuser=0&hl=en&eid=#

Current test Plan
https://docs.google.com/a/linaro.org/document/d/14Kta4wQ0QdKlO_iQ41EolkLm-pxw_Ggh_OW-ca6BEvM/edit

Platforms bringup - asac changes to the plan
http://pad.linaro.org/5T9dICYtbK

Blueprint
https://blueprints.launchpad.net/linux-linaro/+spec/linaro-kernel-q112-big-little-switcher

Timeline (proposed)
https://wiki.linaro.org/Internal/People/MounirBsaibes/Big.LittleWeeklyReportTemplate

__Major Milestones__

Milestones:
ARM reference Switcher 3/15/2012
Validation Ready 3/29/2012
Validate Reference Switcher 4/5/2012
Linux Integrated Switcher 4/5/2012
Validate Integrated Switcher 4/26/2012
Release Candidate 1 (RC1) 5/10/2012
General Availability (GA) 5/31/2012

__Execution Matrix__

https://docs.google.com/a/linaro.org/spreadsheet/ccc?key=0AroPySpr4FnEdGttYkhCUGVzZ2JOS0tGaU1QUm9wOHc#gid=0

Blueprint information

Status:
Complete
Approver:
Zach Pfeffer
Priority:
High
Drafter:
Amit Pundir
Direction:
Approved
Assignee:
Amit Pundir
Definition:
New
Series goal:
Accepted for 2012q1
Implementation:
Implemented
Milestone target:
milestone icon 12.03
Started by
Zach Pfeffer
Completed by
Zach Pfeffer

Related branches

Sprints

Whiteboard

Notes:
[2012/2/28 pfefferz] Put notes here.
[2012/3/11 mounir-bsaibes] See test document at: https://docs.google.com/a/linaro.org/document/d/14Kta4wQ0QdKlO_iQ41EolkLm-pxw_Ggh_OW-ca6BEvM/edit#heading=h.kzlc653oo088
[2012/3/13 mounir-bsaibes] Mounir added some dates past the end of the cycle, we'll split the BP up.
[2012/3/27 pfefferz] -a7 blocked, cache-coherency: need to work with Riku: stressapptest not directly built on Android

Meta:
Roadmap id: ANDROID2012-BIG-LITTLE
Headline: ARM's big.LITTLE has been tested
Acceptance: Test big.LITTLE on the A15/A7 simulator running Android using a set of unit tests.

(?)

Work Items

Work items:
Port stress to Android: DONE
Port memtester (3/22/2012): DONE
Port iozone (3/22/2012): DONE
Create git://android.git.linaro.org/test/biglittle/core: DONE

Dependency tree

* Blueprints in grey have been implemented.