On Wed, Mar 29, 2006 at 09:44:49AM +1100, Peter Williams wrote:Siddha, Suresh B wrote:We need to balance even if the other packages are not idle.. For example,Well I hope that when you do a proper implementation for this issue that it takes this into account. The current implementation doesn't.
consider a 4-core DP system, if we have 6 runnable(assume same priority)
processes, we want to schedule 3 of them in each package..
This will also have issues when we want to implement power savings policy
for multi-core. Attached is the prototype patch(against 2.6.16-git15)
I was planning to send to mainline..
Todays active load balance implementation is very simple and generic. AndThe application of active balancing to address your problem in the current implementation is essentially random.
hence it works smoothly with dual and multi-core..
why so? we wanted to implement these HT and MC optimizations generically
in the scheduler and domain topology(and sched groups cpu_power) provided
that infrastructure cleanly..
Please read my OLS 2005 paper which talks about different scheduling scenarios and also howA URL would be handy.
http://www.linuxsymposium.org/2005/linuxsymposium_procv2.pdf
Look for the paper titled "Chip Multi Processing aware Linux Kernel Scheduler"
Either way, I can show scheduling scenarios which will fail...I'd be interested to see the ones that would fail with the corrected code.
4-way system with HT (8 logical processors) ...
Package-P0 T0 has a highest priority task, T1 is idle
Package-P1 Both T0 and T1 have 1 normal priority task each..
P2 and P3 are idle.
Scheduler needs to move one of the normal priority tasks to P2 or P3.. But find_busiest_group() will always think P0 as the busy group and
will not distribute the load as expected..
I am giving so many examples that I am confused at the end of day, which
examples are fixed and which are not by your patches :)
So please send the latest smpnice patch, which you think is clean and fixes all the issues(look at all my examples and also the ones mentioned in the OLS paper...)