On Tue, Apr 17, 2007 at 11:24:22AM +0200, Ingo Molnar wrote:
How's this:
If you're running two identical CPU hog tasks A and B differing only by nice
level (Anice, Bnice), the ratio cputime(A)/cputime(B) should be a
constant f(Anice - Bnice).
Other definitions make things hard to analyze and probably not
well-bounded when confronted with > 2 tasks.
I -think- this implies keeping a separate scaled CPU usage counter,
where the scaling factor is a trivial exponential function of nice
level where f(0) == 1. Then you schedule based on this scaled usage
counter rather than unscaled.
I also suspect we want to keep the exponential base small so that the
maximal difference is 10x-100x.
--
Mathematics is the supreme nostalgia of our time.
-