The staircase scheduler
The staircase scheduler
Posted Jun 3, 2004 15:08 UTC (Thu) by mmarsh (subscriber, #17029)Parent article: The staircase scheduler
It's not obvious in the description, and I haven't looked through the code or any detailed technical docs, but what happens in the following case? Say you have a process that has, through grave misfortune, fallen off of the lowest step and been placed back *on* the lowest step. If there are n steps it'll wait there for n time slices, and if it still hasn't been run it'll fall off again. Does it get placed back on the lowest step as a default? Does it get elevated in priority as compensation for its patience? Can this just not occur (though I'd bet a contrived example could be constructed)? The nightmare scenario is that the scheduler tries to place it below the lowest step, resulting in an array bounds error and a kernel panic.
Posted Jun 4, 2004 0:08 UTC (Fri)
by farnz (subscriber, #17727)
[Link]
The only time a process falls down is if it consumes all its timeslices.
Thus, a process that has been placed on the lowest step has consumed
n timeslices at each of the priorities Base through
Base-n. It can only fall off again if it runs for n
timeslices, thus your scenario cannot occur.
The staircase scheduler
