Emulating a big.LITTLE system

Registered by David Zinman on 2012-04-16

To support development this work will create software to emulate big.LITTLE systems on current hardware.

Blueprint information

Status:
Complete
Approver:
Amit Kucheria
Priority:
High
Drafter:
None
Direction:
Approved
Assignee:
Rob
Definition:
Approved
Series goal:
Accepted for trunk
Implementation:
Implemented
Milestone target:
milestone icon 2012.05
Started by
David Zinman on 2012-08-22
Completed by
David Zinman on 2012-08-22

Related branches

Sprints

Whiteboard

Meta:
Headline: TBD
Acceptance: TBD

Please see detailed work items on the page:
https://wiki.linaro.org/WorkingGroups/PowerManagement/Specs/EmulatingaBigLittleSystem

There are several ways to achieve this. We need to figure out the best option or combination of options:
* Create a SCHED_FIFO thread pinned to each LITTLE-designated CPU that spins for a fraction of the time. The time left over should be adjusted for the desired LITTLE-CPU capability: TODO
* Constrain the clock frequency of the LITTLE-designated CPUs using the /sys/devices/system/cpu/cpu*/cpufreq directories: TODO
* Use the Intel T-state capability: TODO
* Document best practices for using existing Linux kernel facilities to manage big.LITTLE MP systems: TODO
  - References:
       https://wiki.linaro.org/WorkingGroups/PowerManagement/Doc/Hotplug
       http://git.linaro.org/gitweb?p=people/vingu/kernel.git

(?)

Work Items

Work items for 2012.05:
Constrain the clock frequency of the LITTLE-designated CPUs using the cpufreq entries: DONE
Use a SCHED_FIFO process to eat cycles: DONE

This blueprint contains Public information 
Everyone can see this information.