Messages in this thread | | | Date | Wed, 23 Dec 2009 17:35:48 +0600 | Subject | Re: SCHED: Is task migration necessary in sched_exec(). | From | Rakib Mullick <> |
| |
On 12/23/09, Peter Zijlstra <peterz@infradead.org> wrote: > On Wed, 2009-12-23 at 16:46 +0600, Rakib Mullick wrote: > > On 12/23/09, Peter Zijlstra <peterz@infradead.org> wrote: > > > On Wed, 2009-12-23 at 16:14 +0600, Rakib Mullick wrote: > > There is no overloaded task, its the runqueue that is overloaded wrt to > other runqueues. The load-balancer has to pick a 'random' task and pray.
By saying overloaded task - I didn't want to mean any perticular task. I wanted to mean a runqueue of excessive tasks with regard to other runqueue (sorry for misleading you).
> Current heuristics try to pick a task that hasn't been on the cpu for a > while, because for those the effective cache footprint is minimal. > Yes - current heuristics does this - to make sure that it doesn't have to wait too long. It pushes process into another runqueue (probably less loaded) just to make sure that - it will get the CPU a bit quickly. But when a task got the CPU - we should keep it out of equation. The point of moving task is - it have to wait less. At exec current task don't have to wait to get CPU.
> > Why the _current_ task? > > Because at exec it has effective 0 cache footprint, and is thus an ideal > victim to move about. > > >
| |