Messages in this thread | | | Date | Thu, 26 Jun 2003 12:39:54 +0200 | From | Mike Galbraith <> | Subject | Re: O(1) scheduler & interactivity improvements |
| |
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/
| |