New scheduler algorithm committed
Matthew Dillon
dillon at apollo.backplane.com
Sun Jun 26 15:34:50 PDT 2005
Ok, I have rewritten the scheduler. Again. I found at least two bugs
while messing with it, but decided to get rid of all the confusing layers
we and FreeBSD had accumulated over time and start fresh with the original
CSRG BSD scheduling algorithm.
Basically what we have now is the original CSRG algorithm with two
additions: A new heuristic to classify processes batch vs interactive,
and a better way to deal with niced processes. I also increased the
core scheduling frequency from 20hz to 50hz and reduced the number of
scheduling ticks that occur before a reschedule is issued.
And I will note, 50hz seems just fine thank you very much (aiming this
at the FreeBSD folks who have their timer interrupt set to a ludicrous
frequency these days).
I have done some preliminary testing with -j builds, cpu-bound loops,
and so on, and it seems to work a whole lot better then anything we
had before.
Additional testing is required (X, audio applications, and so
forth).
-Matt
More information about the Kernel
mailing list