From: Paul Clements <paul.clements@steeleye.com>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: jens.axboe@oracle.com, randy.dunlap@oracle.com,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/1] NBD: make nbd default to deadline I/O scheduler
Date: Sat, 09 Feb 2008 08:30:40 -0500 [thread overview]
Message-ID: <47ADAB00.90306@steeleye.com> (raw)
In-Reply-To: <20080208140244.c850a5d3.akpm@linux-foundation.org>
[-- Attachment #1: Type: text/plain, Size: 50 bytes --]
Take 3...this should address all the issues.
[-- Attachment #2: nbd_default_to_deadline_then_noop.diff --]
[-- Type: text/x-patch, Size: 1442 bytes --]
NBD doesn't work well with CFQ (or AS) schedulers, so let's default to something
else.
The two problems I have experienced with nbd and cfq are:
1) nbd hangs with cfq on RHEL 5 (2.6.18) -- this may well have been fixed
There's a similar debian bug that has been filed as well:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=447638
There have been posts to nbd-general mailing list about problems with
cfq and nbd also.
2) nbd performs about 10% better (the last time I tested) with deadline
vs. cfq (the overhead of cfq doesn't provide much advantage to nbd [not
being a real disk], and you end up going through the I/O scheduler on
the nbd server anyway, so it makes sense that deadline is better with nbd)
Signed-Off-By: Paul Clements <paul.clements@steeleye.com>
--- ./drivers/block/nbd.c.max_nbd_killed 2008-02-07 16:46:24.000000000 -0500
+++ ./drivers/block/nbd.c 2008-02-09 08:14:18.000000000 -0500
@@ -654,6 +654,7 @@ static int __init nbd_init(void)
for (i = 0; i < nbds_max; i++) {
struct gendisk *disk = alloc_disk(1);
+ elevator_t *old_e;
if (!disk)
goto out;
nbd_dev[i].disk = disk;
@@ -667,6 +668,11 @@ static int __init nbd_init(void)
put_disk(disk);
goto out;
}
+ old_e = disk->queue->elevator;
+ if (elevator_init(disk->queue, "deadline") == 0 ||
+ elevator_init(disk->queue, "noop") == 0) {
+ elevator_exit(old_e);
+ }
}
if (register_blkdev(NBD_MAJOR, "nbd")) {
next prev parent reply other threads:[~2008-02-09 13:30 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-02-08 16:47 [PATCH 1/1] NBD: make nbd default to deadline I/O scheduler Paul Clements
2008-02-08 17:33 ` Randy Dunlap
2008-02-08 18:11 ` Andrew Morton
2008-02-08 18:41 ` Paul Clements
2008-02-08 20:45 ` Jens Axboe
2008-02-08 20:47 ` Jens Axboe
2008-02-08 21:23 ` Paul Clements
2008-02-08 22:02 ` Andrew Morton
2008-02-09 13:30 ` Paul Clements [this message]
2008-02-12 23:16 ` Andrew Morton
2008-02-18 18:16 ` Jens Axboe
2008-02-18 23:50 ` Andrew Morton
2008-02-19 9:19 ` Jens Axboe
2008-02-19 9:24 ` Jens Axboe
2008-02-19 10:02 ` Andrew Morton
2008-02-19 10:05 ` Jens Axboe
2008-02-08 22:45 ` [Nbd] " Mike Snitzer
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=47ADAB00.90306@steeleye.com \
--to=paul.clements@steeleye.com \
--cc=akpm@linux-foundation.org \
--cc=jens.axboe@oracle.com \
--cc=linux-kernel@vger.kernel.org \
--cc=randy.dunlap@oracle.com \
/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.