All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jens Axboe <axboe@suse.de>
To: Jeff Sipek <jeffpc@optonline.net>
Cc: Linux Kernel <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] Time sliced CFQ #2
Date: Sun, 5 Dec 2004 19:58:45 +0100	[thread overview]
Message-ID: <20041205185844.GF6430@suse.de> (raw)
In-Reply-To: <20041204163948.GA20486@optonline.net>

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


  reply	other threads:[~2004-12-05 18:58 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-12-04 10:49 [PATCH] Time sliced CFQ #2 Jens Axboe
2004-12-04 16:39 ` Jeff Sipek
2004-12-05 18:58   ` Jens Axboe [this message]
2004-12-06  0:29     ` Jeff Sipek
2004-12-06  1:59       ` Con Kolivas
2004-12-06  2:23         ` Jeff Sipek
2004-12-06  2:34           ` Con Kolivas
2004-12-06  5:00             ` Kyle Moffett
2004-12-06  5:14               ` Robert Love
2004-12-06  7:19                 ` Jens Axboe
2004-12-06 12:18                   ` Helge Hafting
2004-12-06 12:24                     ` Jens Axboe
2004-12-06 12:21                 ` Kyle Moffett
2004-12-06 16:42                   ` Robert Love
2004-12-06 17:42                     ` P
2004-12-06  7:15               ` Jens Axboe
2004-12-06  7:13       ` Jens Axboe
2004-12-05 14:21 ` Ed Tomlinson
2004-12-05 15:18   ` Jens Axboe
2004-12-05 17:58     ` Ed Tomlinson
2004-12-06  9:31 ` Prakash K. Cheemplavam
2004-12-06  9:35   ` Jens Axboe
2004-12-06 11:48     ` Ed Tomlinson
2004-12-06 12:31     ` Prakash K. Cheemplavam
2004-12-06 13:27       ` [PATCH] Time sliced CFQ #3 Jens Axboe
2004-12-06 14:01         ` Søren Lott
2004-12-06 15:01           ` Jens Axboe
2004-12-06 15:45             ` Jens Axboe
2004-12-06 15:07         ` Prakash K. Cheemplavam
2004-12-06 23:30         ` Ed Tomlinson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20041205185844.GF6430@suse.de \
    --to=axboe@suse.de \
    --cc=jeffpc@optonline.net \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.