Re: Overscheduling DOES happen with high web server load.

Alan Cox (alan@lxorguk.ukuu.org.uk)
Fri, 7 May 1999 02:56:20 +0100 (BST)


> - you add the "exclusive" entries to the end of the list (or at least
> after any oher non-exclusive ones: depending on how the list is
> organized one or the other may be the more efficient way to handle it).
> They are also marked some way - preferably just a bit in the task
> state.

For most wake_one situations you want to schedule the last thread to go idle
as it will have the most context in cache. NT actually does this sort of
stuff.

> anyway) that you woke up, you stop early and go home. You mark the one
> you woke non-exclusive _or_ you make the exclusivity test also verify
> that the thing is not running, so two consecutive wakeup calls will
> always wake up two exclusive processes.

Ok

> that the _only_ things that change behaviour are the ones you expressly
> asked to change. That was always a problem with "wake_up_one()", where it
> had non-local changes to behaviour (a wake_up_one() would change how a
> sleep somewhere else behaved).

That makes a lot of sense.

Alan

-
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/