From: Jens Axboe <jens.axboe@oracle.com>
To: Corrado Zoccolo <czoccolo@gmail.com>
Cc: Linux-Kernel <linux-kernel@vger.kernel.org>,
Jeff Moyer <jmoyer@redhat.com>
Subject: Re: [PATCH 0/5] cfq-iosched: improve latency for no-idle queues (v3)
Date: Wed, 28 Oct 2009 09:27:07 +0100 [thread overview]
Message-ID: <20091028082706.GT10727@kernel.dk> (raw)
In-Reply-To: <200910262243.41327.czoccolo@gmail.com>
On Mon, Oct 26 2009, Corrado Zoccolo wrote:
> [rebased on top of Jeff's latest changes for 2.6.33. Various code style improvements over v1 & v2]
>
> This patch series is intended to improve I/O latency, addressing an often
> neglected, important subset of workloads: the ones for which cfq currently
> prefers not to do any idling.
>
> Those are the ones that would benefit most from having low latency, in fact
> they are any of:
> * processes with large think times (e.g. interactive ones like file managers)
> * seeky (e.g. programs faulting in their code at startup)
> * or marked as no-idle from upper levels.
>
> The patch series addresses this by:
> * reducing queues' timeslice when many queues have pending I/O
> * separating queues with different priorities and different characteristics in
> different service trees, each with an allocated time slice
> * enable idling when switching between service trees, even for queues that
> would not have idling enabled otherwise.
>
> This provides various benefits:
> * service tree insertion code is simplified, since it doesn't need to cope with
> priorities any more.
> * high priority no_idle queues are no longer penalized when competing with
> lower priority, idling queues
> * seeky and no_idle queues have their fair share of disk time, without
> penalizing NCQ drives' performances, since they can all dispatch together,
> filling up the available NCQ slots.
>
> On a non-NCQ capable drive, a workload of 4 random readers competing with
> sequential writer, the maximum latency experienced by readers decreased from >
> 500ms to about 160ms.
Thanks Corrado, this is indeed good stuff. Only style issue left was the
one in cfq_get_avg_queues(), I just corrected that manually.
I have committed this in a test branch based off for-2.6.33 and will do
some testing with it, then merge it into for-2.6.33 if it looks good.
--
Jens Axboe
next prev parent reply other threads:[~2009-10-28 8:27 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-10-26 21:43 [PATCH 0/5] cfq-iosched: improve latency for no-idle queues (v3) Corrado Zoccolo
2009-10-28 8:27 ` Jens Axboe [this message]
[not found] ` <x49zl7c268s.fsf@segfault.boston.devel.redhat.com>
[not found] ` <4e5e476b0910271124r2cf9f9c0l83fdc59b50619202@mail.gmail.com>
[not found] ` <x493a4wsn5c.fsf@segfault.boston.devel.redhat.com>
[not found] ` <x49fx8wbqd0.fsf@segfault.boston.devel.redhat.com>
[not found] ` <4e5e476b0911030042q5963718aj5875c542e6f6cc40@mail.gmail.com>
[not found] ` <x49ocnju35d.fsf@segfault.boston.devel.redhat.com>
[not found] ` <4e5e476b0911030719m425c208cg311f44a91fad8342@mail.gmail.com>
2009-11-03 18:35 ` Fwd: " Corrado Zoccolo
2009-11-03 20:18 ` Jens Axboe
2009-11-03 20:26 ` Jeff Moyer
2009-11-03 20:28 ` Jens Axboe
2009-11-03 22:00 ` Jeff Moyer
2009-11-04 7:51 ` Jens Axboe
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=20091028082706.GT10727@kernel.dk \
--to=jens.axboe@oracle.com \
--cc=czoccolo@gmail.com \
--cc=jmoyer@redhat.com \
--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.