Chris Friesen wrote:
Peter Williams wrote:
Chris Friesen wrote:
Scuse me if I jump in here, but doesn't the load balancer need some
way to figure out a) when to run, and b) which tasks to pull and
where to push them?
Yes but both of these are independent of the scheduler discipline in
force.
It is not clear to me that this is always the case, especially once you
mix in things like resource groups.
If
the load balancer manages to keep the weighted (according to static
priority) load and distribution of priorities within the loads on the
CPUs roughly equal and the scheduler does a good job of ensuring
fairness, interactive responsiveness etc. for the tasks within a CPU
then the result will be good system performance within the constraints
set by the sys admins use of real time priorities and nice.
Suppose I have a really high priority task running. Another very high
priority task wakes up and would normally preempt the first one.
However, there happens to be another cpu available. It seems like it
would be a win if we moved one of those tasks to the available cpu
immediately so they can both run simultaneously. This would seem to
require some communication between the scheduler and the load balancer.
Not really the load balancer can do this on its own AND the decision
should be based on the STATIC priority of the task being woken.
Certainly the above design could introduce a lot of context switching.
But if my goal is a scheduler that minimizes latency (even at the cost
of throughput) then that's an acceptable price to pay.
It would actually probably reduce context switching as putting the woken
task on the best CPU at wake up means you don't have to move it later
on. The wake up code already does a little bit in this direction when
it chooses which CPU to put a newly woken task on but could do more --
the only real cost would be the cost of looking at more candidate CPUs
than it currently does.
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]