From: Jens Axboe <axboe@suse.de>
To: kumon@flab.fujitsu.co.jp
Cc: linux-kernel@vger.kernel.org, Dave Jones <davej@suse.de>,
Andrea Arcangeli <andrea@suse.de>
Subject: Re: [PATCH] livelock in elevator scheduling
Date: Tue, 21 Nov 2000 11:28:36 +0100 [thread overview]
Message-ID: <20001121112836.B10007@suse.de> (raw)
In-Reply-To: <200011210838.RAA27382@asami.proc.flab.fujitsu.co.jp>
In-Reply-To: <200011210838.RAA27382@asami.proc.flab.fujitsu.co.jp>; from kumon@flab.fujitsu.co.jp on Tue, Nov 21, 2000 at 05:38:44PM +0900
On Tue, Nov 21 2000, kumon@flab.fujitsu.co.jp wrote:
> The current elevator_linus() doesn't obey the true elevator
> scheduling, and causes I/O livelock during frequent random write
> traffics. In such environment I/O (read/write) transactions may be
> delayed almost infinitely (more than 1 hour).
>
> Problem:
> Current elevator_linus() traverses the I/O requesting queue from the
> tail to top. And when the current request has smaller sector number
> than the request on the top of queue, it is always placed just after
> the top.
> This means, if requests in some sector range are continuously
> generated, a request with larger sector number is always places at the
> last and has no chance to go to the front. e.g. it is not scheduled.
Believe it or not, but this is intentional. In that regard, the
function name is a misnomer -- call it i/o scheduler instead :-)
The current settings in test11 cause this behaviour, because the
starting request sequence numbers are a 'bit' too high.
I'd be very interested if you could repeat your test with my
block patch applied. It has, among other things, a more fair (and
faster) insertion.
*.kernel.org/pub/linux/kernel/people/axboe/patches/2.4.0-test11/blk-11.bz2
> [...] Additionally, it may be better to add extra priority to reads
> than writes to obtain better response, but this patch doesn't.
READs do have bigger priority, they start out with lower sequence
numbers than WRITEs do:
latency = elevator_request_latency(elevator, rw);
With my patch, READ sequence start is now 8192. WRITEs are twice
that.
--
* Jens Axboe <axboe@suse.de>
* SuSE Labs
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/
next prev parent reply other threads:[~2000-11-21 10:59 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2000-11-21 8:38 [PATCH] livelock in elevator scheduling kumon
2000-11-21 10:28 ` Jens Axboe [this message]
2000-11-21 11:30 ` kumon
2000-11-21 11:36 ` Jens Axboe
2000-11-21 12:39 ` kumon
2000-11-21 13:01 ` Jens Axboe
2000-11-22 6:08 ` kumon
2000-12-02 0:22 ` Russell Cattelan
2000-12-02 15:42 ` Jens Axboe
2000-12-04 23:25 ` Russell Cattelan
2000-12-05 1:38 ` Russell Cattelan
2000-12-05 23:01 ` Jens Axboe
2000-12-06 0:53 ` Russell Cattelan
2000-11-22 10:59 ` kumon
2000-11-22 15:50 ` davej
[not found] <200011210828.RAA27311@asami.proc.flab.fujitsu.co.jp>
2000-11-21 15:12 ` Andrea Arcangeli
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=20001121112836.B10007@suse.de \
--to=axboe@suse.de \
--cc=andrea@suse.de \
--cc=davej@suse.de \
--cc=kumon@flab.fujitsu.co.jp \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox