|
|
Subscribe / Log in / New account

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.


to post comments

The staircase scheduler

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.


Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds