Re: [PATCH] sched: prevent high load weight tasks suppressing balancing
From: Peter Williams
Date: Mon Mar 27 2006 - 18:18:44 EST
Siddha, Suresh B wrote:
This breaks HT and MC optimizations.. Consider a DP system with each
physical processor having two HT logical threads.. if there are two
runnable processes running on package-0, with this patch scheduler
will never move one of those processes to package-1..
Is this an active_load_balance() issue?
If it is then I suggest that the solution is to fix the
active_load_balance() and associated code so that it works with this
patch in place.
It would be possible to modify find_busiest_group() and
find_busiest_queue() so that they just PREFER the busiest group to have
at least one CPU with more than one running task and the busiest queue
to have more than one task. However, this would make the code
considerably more complex and I'm reluctant to impose that on all
architectures just to satisfy HT and MC requirements. Are there
configuration macros or other means that I can use to exclude this
(proposed) code on systems where it isn't needed i.e. non HT and MC
systems or HT and MC systems with only one package.
Personally, I think that the optimal performance of the load balancing
code has already been considerably compromised by its unconditionally
accommodating the requirements of active_load_balance() (which you have
said is now only required by HT and MC systems) and that it might be
better if active load balancing was separated out into a separate
mechanism that could be excluded from the build on architectures that
don't need it. I can't help thinking that this would result in a more
efficient active load balancing mechanism as well because the current
one is very inefficient.
Peter
PS I don't think that this issue is sufficiently important to prevent
the adoption of the smpnice patches while it's being resolved.
--
Peter Williams pwil3058@xxxxxxxxxxxxxx
"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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/