On 12/13/2013 10:10 PM, Vincent Guittot wrote:
Thanks for your comments, Vincent!
I didn't see sth special for CPU domain level unless in wakeup balance. but this case is only for running tasks. So why you said 'it's already possible'? Did I miss sth in scheduler?
I haven't been clear in my explanation. I wanted to say that it's possible to move a task directly to the right CPU node without spurious migration in the SMT level, then MC level before
Let take the topology example describe just below:
SMT | 0-1 | 2-3 | 4-5 | 6-7 | MC | 0-3 | 4-7 | CPU | 0-7
Now, let imagine that there are 2 tasks (A and B) on cpu6. The next idle balance will move directly one of the 2 task on cpu0 which is the best final cpu
Thanks Vincent!
The nohz idle balance will pick up idle cpu the minimum cpu number. So, in my example, tasks on cpu0, it is impossible to move task to another MC. So you have to assume tasks on cpu6, not cpu0. :) And in fact newidle balance will randomly happen and then moving task randomly. They will slightly ease this unnecessary task moving, but can not solving it.