Messages in this thread | | | Date | Sun, 5 Dec 2004 19:58:45 +0100 | From | Jens Axboe <> | Subject | Re: [PATCH] Time sliced CFQ #2 |
| |
On Sat, Dec 04 2004, Jeff Sipek wrote: > On Sat, Dec 04, 2004 at 11:49:21AM +0100, Jens Axboe wrote: > > Hi, > > > > Second version of the time sliced CFQ. Changes: > > > > - Sync io has a fixed time slice like before, async io has both a time > > based and a request based slice limit. The queue slice is expired when > > one of these limits are reached. > > > > - Fix a bug in invoking the request handler on a plugged queue. > > > > - Drop the ->alloc_limit wakeup stuff, I'm not so sure it's a good idea > > and there are probably wakeup races buried there. > > > > With the async rq slice limit, it behaves perfectly here for me with > > readers competing with async writers. The main slice settings for a > > queue are: > > > > - slice_sync: How many msec a sync disk slice lasts > > - slice_idle: How long a sync slice is allowed to idle > > - slice_async: How many msec an async disk slice lasts > > - slice_async_rq: How many requests an async disk slice lasts > > This looks very nice. And from your previous post (with version #1) it > would look like you made my attempt at io priorities easier. We'll see > ;-)
It should be really easy to try some rudimentary prio io support - just scale the time slice based on process priority. A few lines of code change, and io priority now follows process cpu scheduler priority. To work really well, the code probably needs a few more limits besides just slice time.
-- 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/
| |