On 6/21/2013 2:23 PM, Catalin Marinas wrote:
oops sorry I misread your mail (lack of early coffee I suppose)
I can see your point of having a thing for "did we ask for all the performance we could ask for" prior to doing a load balance (although, for power efficiency, if you have two tasks that could run in parallel, it's usually better to run them in parallel... so likely we should balance anyway)
Not necessarily, especially if parallel running implies powering up a full cluster just for one CPU (it depends on the hardware but for example a cluster may not be able to go in deeper sleep states unless all the CPUs in that cluster are idle).
I guess it depends on the system
the very first cpu needs to power on * the core itself * the "cluster" that you mention * the memory controller * the memory (out of self refresh)
while the second cpu needs * the core itself * maybe a second cluster
normally on Intel systems, the memory power delta is quite significant which then means the efficiency of the second core is huge compared to running things in sequence.