Messages in this thread |  | | | Date | Tue, 22 Nov 2005 13:44:41 +0100 | | From | Jens Axboe <> | | Subject | Re: ioscheduler and 2.6 kernels |
| |
On Tue, Nov 22 2005, Lukas Hejtmanek wrote: > On Tue, Nov 22, 2005 at 12:56:58PM +0100, Michal Schmidt wrote: > > >I have a question about ioschedulers in current 2.6 kernels. Is there an > > >option > > >to build iorequest queues per process? I would like to have the queue for > > >each > > >process and pick up request in round robin manner, which results in more > > >interactive environment. > > > > Isn't this exactly what the CFQ scheduler does? > > Friend of me tried all the schedulers and he thinks, that all behave basicaly > the same. His testbed is to extract tar archive with lots small files and in > parallel to run xterm, which takes serious time. He wonder why.
Your friend has to realize that writeout doesn't typically happen in the context of the process dirtying the data. CFQ will set aside a special queue(s) for async writeout, though.
But another major interactivity problem he may see is that if you are dirtying a lot of memory, other processes doing reads may get stuck in page reclaim when allocating memory (eg getting a new page cache page, either directly or perhaps through readahead). Then processes X has to wait for async queue Z to flush out memory, thus becoming dependent on each other for interactiveness. The io scheduler knows nothing about this, so it can't really prevent it from happening.
-- Jens Axboe
- 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/
|  |