Re: better wake-balancing: respin

From: Ingo Molnar
Date: Fri Oct 28 2005 - 09:37:37 EST



* Nick Piggin <nickpiggin@xxxxxxxxxxxx> wrote:

> Ingo, I wasn't aware that tasks are bouncing around wildly; does your
> patch improve things? Then by definition it must penalise workloads
> where the pairings are more predictable?

for TPC, most of the non-to-idle migrations are 'wrong'. So basically
any change that gets rid of extra migrations is a win. This does not
mean that it is all bouncing madly.

> I would prefer to try fixing wake balancing before giving up and
> turning it off for busy CPUs.

agreed, and that was my suggestion: improve the heuristics to not hurt
workloads where there is no natural pairing.

one possible way would be to do a task_hot() check in the passive
balancing code, and only migrate the task when it's been inactive for a
long time: that should be the case for most TPC wakeups. (This assumes
an accurate cache-hot estimator, for which another patch exists.)

> Without any form of wake balancing, then a multiprocessor system will
> tend to have a completely random distribution of tasks over CPUs over
> time. I prefer to add a driver so it is not completely random for
> amenable workloads.

but my patch does not do 'no form of wake balancing'. It will do
non-load-related wake balancing if the target CPU is idle. Arguably,
that can easily be 'never' under common workloads.

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