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

From: Peter Zijlstra
Date: Wed Dec 23 2009 - 05:22:17 EST


On Wed, 2009-12-23 at 16:14 +0600, Rakib Mullick wrote:
> Is task migration necessary in sched_exec()?
>
> In sched_exec function's comment it says:
>
> "sched_exec - execve() is a valuable balancing opportunity, because at
> this point the task has the smallest effective memory and cache footprint."
>
> Right, but - when a execve() is called then this task will start execution (that
> means this task will not waiting on the runqueue as TASK_RUNNING/WAKING,
> it will get the CPU). At this point - what is the necessity to try
> making it balance.
> By looking at point of "smallest effective memory and cache footprint" , we are
> missing the point that we are unnecessarily pushing task when its
> about to execute.
>
> Isn't it? Or I'm missing anything?

Well, if there's an imbalance the 'slow' load-balancer will move it
around eventually anyway, and since it will then have build up a larger
cache footprint it will be even more expensive.

So moving it when its cheapest is the best all-round trade-off, isn't
it?

--
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/