Siddha, Suresh B wrote:
On Sat, Apr 15, 2006 at 10:54:45AM +1000, Peter Williams wrote:
If you have a better suggestion for how move_tasks() does its job, how
about providing a patch and with supporting arguments as to why its
better. If it is better then we can use it.
I think we can have a second pass(if the first pass fails to move any),
in which we will not skip those tasks which will become highest priority
on the target runqueue...
That won't solve the problem that this patch is intended to address. As
a reminder the problem is that a low priority task is being moved when
we would prefer a high priority task to be moved. I.e. we want to move
the high priority task because it's the best one to move not because we
couldn't move any tasks.
NB (ignoring races and can_migrate_task() vetoing a task being moved)
there should always be a task that can be moved as the minimum value of
imbalance is the average load per task of the source queue and there
must be tasks whose load weight is less than or equal to the average
(it's axiomatic).
To put that another way, only a change in the state of the source queue
since imbalance was determined (possible because that's all done without
locks) or can_migrate_task() will stop at least one task being moved.
Peter
--
Peter Williams [email protected]
"Learning, n. The kind of ignorance distinguishing the studious."
-- Ambrose Bierce
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]