Re: [PATCH] sched: smpnice work around for active_load_balance()

From: Siddha, Suresh B
Date: Wed Mar 29 2006 - 17:50:02 EST


On Wed, Mar 29, 2006 at 02:42:45PM +1100, Peter Williams wrote:
> I meant that it doesn't explicitly address your problem. What it does
> is ASSUME that failure of load balancing to move tasks is because there
> was exactly one task on the source run queue and that this makes it a
> suitable candidate to have that single task moved elsewhere in the blind
> hope that it may fix an HT/MC imbalance that may or may not exist. In
> my mind this is very close to random.

That so called assumption happens only when load balancing has
failed for more than the domain specific cache_nice_tries. Only reason
why it can fail so many times is because of all pinned tasks or only a single
task is running on that particular CPU. load balancing code takes care of both
these scenarios..

sched groups cpu_power controls the mechanism of implementing HT/MC
optimizations in addition to active balance code... There is no randomness
in this.


> Also back to front and inefficient.

HT/MC imbalance is detected in a normal way.. A lightly loaded group
finds an imbalance and tries to pull some load from a busy group (which
is inline with normal load balance)... pull fails because the only task
on that cpu is busy running and needs to go off the cpu (which is triggered
by active load balance)... Scheduler load balance is generally done by a
pull mechansim and here (HT/MC) it is still a pull mechanism(triggering a
final push only because of the single running task)

If you have any better generic and simple method, please let us know.

thanks,
suresh
-
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/