Messages in this thread | | | Date | Tue, 7 Aug 2007 22:26:57 -0400 | From | "Lee Revell" <> | Subject | Re: allow non root users to set io priority "idle" ? |
| |
On 06 Aug 2007 13:11:01 +0200, Andi Kleen <andi@firstfloor.org> wrote: > For IO I suppose the same could happen too. e.g. low priority > task wants to write out a page and keeps it locked until the IO > is finished. High priority task wants to access the page and has > to wait until it is unlocked. Middle task generates an endless > stream of IO that makes the idle priority writeout never finish.
I don't think it's a problem for high priority (RT) tasks - it's well known in the real time Linux community that you never, ever do IO from a thread that has to satisfy RT constraints. A correct RT linux app does its IO from a SCHED_NORMAL thread, with *plenty* of buffering, and feeds the RT constrained SCHED_FIFO threads using a lock free ringbuffer.
SCHED_IDLE starving SCHED_NORMAL is an issue of course. But SCHED_IDLE seems a lot more useful for read than write which I would expect to take fewer locks. For example I'd expect Beagle to want to read at SCHED_IDLE but write out its indices at SCHED_NORMAL.
Would it make any sense to allow anyone to set SCHED_IDLE for reads but require root to change IO priority for writes?
Lee - 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/
| |