Re: O(1) scheduler & interactivity improvements

Mike Galbraith (efault@gmx.de)
Thu, 26 Jun 2003 12:39:54 +0200


At 11:59 AM 6/26/2003 +0200, Helge Hafting wrote:
>Mike Galbraith wrote:
>
>>ponders obnoxious ($&#!...;) irman process_load...
>>Too many random sleeper tasks steadily becoming runnable can DoS lower
>>priority tasks accidentally, but the irman process_load kind of DoS seems
>>to indicate a very heavy favoritism toward cooperating threads.
>>It seems to me that any thread group who's members sleep longer than they
>>run, and always has one member runnable is absolutely guaranteed to cause
>>terminal DoS. Even if there isn't _always_ a member runnable, waking a
>>friend and waiting for him to do something seems like a very likely thing
>>for threaded process to do, which gives the threaded process a huge
>>advantage because the cumulative sleep_avg pool will become large simply
>>because it's members spend a lot of time jabbering back and forth.
>
>How about _removing_ the io-wait bonus for waiting on pipes then?

That's been done.

>If you wait for disk io, someone else gets to use
>the cpu for their work. So you get a boost for
>giving up your share of time, waiting
>for that slow device.
>
>But if you wait for a pipe, you wait for some other
>cpu hog to do the first part of _your_ work.
>I.e. nobody else benefitted from your waiting,
>so you don't get any boost either.
>
>This solves the problem of someone artifically
>dividing up a job, using token passing
>to get unfair priority.

For pipes.

-Mike

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