Originally Posted by nakedtime
you can't even use separate processors with different clock speeds, let alone different architectures.
In the case of BIG.little, you have an out of order execution deep pipeline with an in order execution shallow pipeline.
You could check out the mediatek mt6592. It uses homogeneous multiprocessing. you may need to use all 8 cores in multiprocessor mode though.
Big little has an internal CCI cache witch connect the 2 different arch.. that's why an in order can run in the same chip than an out of order
Hmp (GTS) is a rewriting of kernel scheduler witch has to do more job
1) understand the arch of the single core, so, it has to "name" the core
2) chose when and where send the task
Bug.little is absolutely working in exy 5420 SoC, it only.needs a controller
Bug little uses C states as like pc cpus, those are automatically.. when linux scheduler chose to turn off one core, it will not send a task in that core, and, it auto goes offline by powergating tecnology
Actual big.little logic is called IKS (in kernel switching)
when linux dvfs goes over a frequency (650mhz for 5420) iks module moves scheduling tasks from A7 to A15..
simply.. iks has less code than hmp (gts) since it only do one "cluster switching"
You have to know with iks frequency from 250 to 650 are of cortexA7 (kernel freq is an half of real cluster freq.. so.. 650 mhz is in real 1.3ghz on A7)
From 700 to 1.9ghz there is used the A15 cluster..
Linux scheduling is the normal scheduling, so, it only move the tasks to preserve a too high ramp up of freq, so, it doesen't chose to move all tasks to 1 core to let the chip to shut down the other 3
Bug.little is a new arch logic witch is compatible only with cortexA7 and cortexA15 with CCI cache interface..
Sure.. cortexA53 and A57 too.. the 64bit version of A7 and A15