Re: SCHED: Is task migration necessary in sched_exec().

From: Rakib Mullick
Date: Wed Dec 23 2009 - 06:37:19 EST


On 12/23/09, Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:
> On Wed, 2009-12-23 at 16:46 +0600, Rakib Mullick wrote:
> > On 12/23/09, Peter Zijlstra <peterz@xxxxxxxxxxxxx> 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.
>
>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/