From: Corrado Zoccolo <czoccolo@gmail.com>
To: "Linux-Kernel" <linux-kernel@vger.kernel.org>,
Jens Axboe <jens.axboe@oracle.com>,
Jeff Moyer <jmoyer@redhat.com>
Subject: [PATCH 0/5] cfq-iosched: improve latency for no-idle queues (v3)
Date: Mon, 26 Oct 2009 22:43:41 +0100 [thread overview]
Message-ID: <200910262243.41327.czoccolo@gmail.com> (raw)
[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.
next reply other threads:[~2009-10-26 21:43 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-10-26 21:43 Corrado Zoccolo [this message]
2009-10-28 8:27 ` [PATCH 0/5] cfq-iosched: improve latency for no-idle queues (v3) Jens Axboe
[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=200910262243.41327.czoccolo@gmail.com \
--to=czoccolo@gmail.com \
--cc=jens.axboe@oracle.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.