Messages in this thread | | | From | Andrew Theurer <> | Subject | Re: Nick's scheduler v17 | Date | Fri, 24 Oct 2003 16:49:05 -0500 |
| |
On Friday 24 October 2003 13:10, Nick Piggin wrote: > Hi, > http://www.kerneltrap.org/~npiggin/v17/ > > Still working on SMP and NUMA. Some (maybe) interesting things I put in are > - Sequential CPU balancing so you don't get a big storm of balances > every 1/4s. > - Balancing is trying to err more on the side of caution, I have to start > analysing it more thoroughly though.
+ + *imbalance /= 2; + *imbalance = (*imbalance + FPT - 1) / FPT;
I think I see what is going on here, but would something like this work out better?
*imbalance = min(this_load - load_avg, load_avg - max_load)
That way you take just enough to either have busiest_queue or this_rq's length be the load_avg. I suppose you could take even less, but IMO, the /=2 is what I really don't like. Perhaps:
*imbalance = min(this_load - load_avg, load_avg - max_load); *imbalance = (*imbalance + FPT - 1) / FPT;
This should work well for intranode balances, internode balances may need a little optimization, since the load_avg really does not really represent the load avg of the two nodes in question, just one cpu from one of them and all the cpus from another.
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |