Re: O(1) scheduler & interactivity improvements

Helge Hafting (helgehaf@aitel.hist.no)
Fri, 27 Jun 2003 13:39:52 +0200


Mike Galbraith wrote:
> At 10:18 AM 6/27/2003 +0200, Helge Hafting wrote:
>
[...]

> (simple? decode stack, find out where he was sleeping,
Complicated indeed, but why do that?
A process sleeping on a pipe will wake up in the kernel's
pipe reading code, won't it? No need for guessing where
it was sleeping. Code for transferring interactivity
bonus could go right there.

>
> What I think kills the priority redistribution idea is _massive_
> complexity. I don't see anything simple. You would have to build the
> logical connections between tasks, which currently doesn't exist.

I must admit I don't know the details of the scheduler. Still, Linus
tried a form of redistribution (the backboost thing). It helped in some
cases.
It seems to me that it got revoked because it did the wrong
thing at times, leading to starvation issus that didn't exist before.
It didn't go because it was overly complex or slow?

Helge Hafting

> Wakeups and task switches are extremely light weight operations, and no
> decision you make at wakeup time has a ghost of a chance of not hurting
> like hell. Just using the monotonic_clock() in the wakeup/schedule
> paths is fairly painful. There is just no way you can run around
> looking for and processing "who shot JR" information in those paths (no
> way _I_ can imagine anyway) without absolutely destroying performance.
>

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