New scheduler algorithm committed

Matthew Dillon dillon at
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


More information about the Kernel mailing list