Srivatsa Vaddagiri <[EMAIL PROTECTED]> writes: > Hello, > I need some inputs from the community (specifically from virtual > machine and embedded/power-management folks) on something that I am working > on.
I think the best way is to let other CPUs handle the load balancing for idle CPUs. Basically when a CPU goes fully idle then you mark this in some global data structure, and CPUs doing load balancing after doing their own thing look for others that need to be balanced too and handle them too. When no CPU is left non idle then nothing needs to be load balanced anyways. When a idle CPU gets a task it just gets an reschedule IPI as usual, that wakes it up. I call this the "scoreboard". The trick is to evenly load balance the work over the remaining CPUs. Something simple like never doing work for more than 1/idlecpus is probably enough. In theory one could even use machine NUMA topology information for this, but that would be probably overkill for the first implementation. With the scoreboard implementation CPus could be virtually idle forever, which I think is best for virtualization. BTW we need a very similar thing for RCU too. -Andi ------------------------------------------------------- This SF.Net email is sponsored by: NEC IT Guy Games. Get your fingers limbered up and give it your best shot. 4 great events, 4 opportunities to win big! Highest score wins.NEC IT Guy Games. Play to win an NEC 61 plasma display. Visit http://www.necitguy.com/?r=20 _______________________________________________ User-mode-linux-devel mailing list User-mode-linux-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel