On Thu, Aug 23, 2012 at 8:27 PM, Lei Wen adrian.wenl@gmail.com wrote:
Dave,
On Thu, Aug 23, 2012 at 8:47 PM, Dave Martin dave.martin@linaro.org wrote:
<snip>
The switcher logical CPUs can run either on the big or little cluster, but for scheduling purposes most of the kernel does not really need to understand this. big/LITTLE becomes an extra performance point parameter for each logical CPU, similar to frequency/voltage scaling. Because the switcher logical CPUs have identical properties, the kernel can treat them as identical for scheduling purposes. This means that the scheduler should work sensibly without any modifications.
Good abstraction! However I cannot see why kernel still believe those logic cpus has same computing capability, if the real cpu running is bLbL. What I can learn from SMP is that the kernel believe the cpus has the same DMIPS. Does the logic cpu fake its DMIPS capability and report the same value to the kernel side?
At the scheduler level, the MIPS is represented by a normalised abstraction called cpu_power. And we now have the ability to change that through device tree (or at runtime) if needed.
See SHA-ID 130d9aabf997bd8449ff4e877fe3c42df066805e in 3.6-rc or https://lkml.org/lkml/2012/6/12/202