Re: [PATCH] Load balancing problem in 2.6.2-mm1

From: Martin J. Bligh
Date: Fri Feb 06 2004 - 18:35:40 EST


> From a later email ....
>
> Hopefully just tending to round down more would damp it better.
> *imbalance = (*imbalance + SCHED_LOAD_SCALE/2) >> SCHED_LOAD_SHIFT;
> Or even remove the addition all together.

I'd side with just removing the addition alltogether ...

>>Moreover, as Rick pointed out, it's particularly futile over idle cpus ;-)
>
> I don't follow...

If CPU 7 has 1 task, and cpu 8 has 0 tasks, there's an imbalance of 1.
There is no point whatsoever in bouncing that task back and forth
between cpu 7 and 8 - it just makes things slower, and trashes the cache.
There's *no* fairness issue here.

If CPU 8 has 2 tasks, and cpu 1 has 1 task, there's an imbalance of 1.
*If* that imbalance persists (and it probably won't, given tasks being
created, destroyed, and blocking for IO), we may want to rotate that
to 1 vs 2, and then back to 2 vs 1, etc. in the interests of fairness,
even though it's slower throughput overall.

However, my point is that we shouldn't do that as agressively (in terms
of how long the imbalance persists for) as we should for loads of 3 vs 1 -
that's a "real" imbalance, not just a fairness problem.

M.

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