Hi Leo,
On 12/15/2015 06:17 AM, Leo Yan wrote:
When I continue to profile with this patch, I found I cannot get expected result; the tasks will be migrated in a mess after applied this patch.
The target CPU's selection is quite dependent on CPU's utilization, but from ftrace data file, the cfs_rq::utilization_load_avg will be increased sharply. Then finally it will imapct on CPU's migration.
So in [2], we can see the task even has been migrated on CPU2 with energy calculation, but it will be finally be migrated onto CPU3 becaused CPU2's utilization value is increased sharply and meet the condition of cpu_overutilized().
It's make sense for CPU's utilization's decay, but it should increase in step-wise when CPU is running for some tasks. So I want to confirm if this is the expected behavior for CPU's utilization, which will be increased sharply when enqueue one task on the CPU's rq?
I saw there have many polishment on CPU and task's load tracking recently, so do you think this issue has been fixed with new kernel (I'm using 4.2-rc6)?
Welcome any comment and suggestion.
Though I don't know that it will fix it, I recommend moving to tip since per-entity load tracking has been rewritten. It will be easier and more worthwhile to discuss any problems in the context of the latest code.
thanks, Steve