Re: smp 'nice' bias support breaks scheduler behavior

From: Con Kolivas
Date: Thu Jan 26 2006 - 07:23:42 EST


On Thursday 26 January 2006 21:52, Siddha, Suresh B wrote:
> Con,
>
> > [PATCH] sched: implement nice support across physical cpus on SMP
>
> I don't see imbalance calculations in find_busiest_group() take
> prio_bias into account. This will result in wrong imbalance value and
> will cause issues.


in 2.6.16-rc1:

find_busiest_group(....

load = __target_load(i, load_idx, idle);
else
load = __source_load(i, load_idx, idle);

where __target_load and __source_load is where we take into account prio_bias.

I'm not sure which code you're looking at, but Peter Williams is working on
rewriting the smp nice balancing code in -mm at the moment so that is quite
different from current linus tree.

Con

>
> For example on a DP system with HT, if there are three runnable processes
> (simple infinite loop with same nice value), this patch is resulting in
> bouncing of these 3 processes from one processor to another...Lets assume
> if the 3 processes are scheduled as 2 in package-0 and 1 in package1..
> Now when the busy processor on package-1 does load balance and as
> imbalance doesn't take "prio_bias" into account, this will kick active
> load balance on package-0.. And this is continuing for ever, resulting
> in bouncing from one processor to another.
>
> Even when the system is completely loaded and if there is an imbalance,
> this patch causes wrong imabalance counts and cause unoptimized
> movements.
>
> Do you want to look into this and post a patch for 2.6.16?
>
> 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/