Re: Schedule idle

thospel@mail.dma.be
Thu, 12 Nov 1998 00:26:06 +0100


Reading the discussion, it seems pretty clear that resource tracking is not
the way to go since it would incredibly complicate kernel design and put
forever a burden on locking primitives (and almost impossible to get right)

To keep linux fast we should keep linux simple.

The basic problem really seems to be processes can starve. So why not
simply say: If a process is in the kernel, it should make at least
some progress. There are many ways to do this, e.g.:
Allow only normally scheduled processes in the kernel.
if SCHED_IDLE enters kernel mode, it becomes nice 19 untill it leaves
if SCHED FIFO processes enter kernel mode, they become nice -19 until they leave
(or make normal scheduling correspond to 1 fifo entry. The precise strategy
does not really matter as long as progress for ALL is guarenteed)
(this seems to generalise to a multi level queue system where each queue as a
whole is an entry in the higher queue)
(this also solves the problem of a wild sched_fifo process completely locking you
out from the machine, which is a variation on the same theme)

-- 
EAGLES MAY SOAR BUT
WEASELS NEVER GET SUCKED INTO JET AIR INTAKES
  - Brian Mulroney -

from "Bumper stickers for fighter pilots"

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/