Hi Morten,
On Mon, Dec 12, 2016 at 02:02:46PM +0000, Morten Rasmussen wrote:
Hi Leo,
On Mon, Dec 12, 2016 at 03:22:05PM +0800, Leo Yan wrote:
For LITTLE cluster "overutilized" flag, it only works after whole system is "overutilized". This is for 6 big tasks case, but for 4 middle tasks case, LITTLE cluster "overutilized" flag doesn't set; so if there have several tasks on LITTLE cluster, we cannot rely on LITTLE cluster "overutilized" flag to spread tasks within LITTLE cluster [6].
I personally think this may not an issue, due we can reply on EAS core algorithm to select best CPU within cluster. So we doesn't rely on "overutilized" flag to spread tasks in LITTLE cluster. And after whole system is "overutilized", then we disable "EAS" path and use SMP traditional load balance. Agree?
For 4 middle-sized tasks the EAS-code should hopefully spread the tasks at wake-up.
If we want to support spreading 4 middle-size tasks, the question is what's the criteria to set "overutilized" flag for LITTLE cluster's sched domain?
I'm more concerned about big tasks on the little cluster as those would only be migrated by the 'misfit'-code. IIUC, in case we have n_big_tasks < n_little_cpus currently scheduled on the little cluster, 'overutilized' won't be set at the root_domain and hence the big cluster won't try to pull any of the big tasks.
Correct, please see the ramp up task case in my another email: after the task become a 'misfit' task, the root domain's flag doesn't set. So should refine for this part.
Thanks, Leo Yan