smpnice: issues with finding busiest queue

From: Siddha, Suresh B
Date: Thu Apr 13 2006 - 20:32:45 EST


On Thu, Apr 13, 2006 at 10:05:51AM +1000, Peter Williams wrote:
>
> There be dragons here :-(.
>

At more places in this part of the world (smpnice) :)

We need to relook at find_busiest_queue()... With the current weighted
calculations, it doesn't always make sense to look at the highest weighted
runqueue in the busy group..

for example on a DP with HT system, how does the load balance behave with
Package-0 containing one high priority and one low priority, Package-1
containing one low priority(with other thread being idle)..

Package-1 thinks that it need to take the low priority thread from Package-0.
And find_busiest_queue() returns the cpu thread with highest priority task..
And ultimately(with help of active load balance) we move high priority
task to Package-1. And same continues with Package-0 now, moving high priority
task from package-1 to package-0..

Even without the presence of active load balance, load balance will fail
to balance(having two low priority tasks on one package, and high
priority task on another package) the above scenario....

We probably need to use imbalance(and more factors) to determine the busiest
queue in the group.....

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/