From: Peter Osterlund <petero2@telia.com>
To: Jens Axboe <axboe@suse.de>
Cc: linux-kernel@vger.kernel.org
Subject: Re: [2.5.2-pre3] Harddisk Performance
Date: 04 Jan 2002 17:28:48 +0100 [thread overview]
Message-ID: <m2sn9m5bcv.fsf@pengo.localdomain> (raw)
In-Reply-To: <20011229162930.GA317@elfie.cavy.de> <20011229181717.C1821@suse.de>
In-Reply-To: <20011229181717.C1821@suse.de>
Jens Axboe <axboe@suse.de> writes:
> On Sat, Dec 29 2001, Heinz Diehl wrote:
> >
> > Running 2.5.2-pre3, hdparm shows up very poor harddisk performance
> > on my system compared to 2.4.x:
>
> Yes I just noticed that too (someone else reported it) -- seems to be
> due to missed merges, I'm investigating.
I have found that if the elevator says BACK_MERGE or FRONT_MERGE, but
the request queue doesn't allow the merge, the request will be put
last in the queue instead of next to the request where the merge would
have been done if allowed.
I first noticed this when playing with the pktcdvd.o module, where the
result was duplicated writes to the same packet, but it does happen
also for normal IDE hard disks.
I think this is a problem in 2.4 too, so it probably doesn't explain
why 2.5 is slower than 2.4. Maybe this is a problem with the "deadline
I/O scheduler" too. I haven't tested it yet, but it doesn't seem to
touch this part of ll_rw_blk.c.
This patch has been running for some time now on my system without
problem.
--- ll_rw_blk.c.old Fri Jan 4 17:10:18 2002
+++ ll_rw_blk.c Fri Jan 4 17:10:57 2002
@@ -1121,8 +1121,10 @@
switch (el_ret) {
case ELEVATOR_BACK_MERGE:
BUG_ON(!rq_mergeable(req));
- if (!q->back_merge_fn(q, req, bio))
+ if (!q->back_merge_fn(q, req, bio)) {
+ insert_here = &req->queuelist;
break;
+ }
elv_merge_cleanup(q, req, nr_sectors);
@@ -1135,8 +1137,10 @@
case ELEVATOR_FRONT_MERGE:
BUG_ON(!rq_mergeable(req));
- if (!q->front_merge_fn(q, req, bio))
+ if (!q->front_merge_fn(q, req, bio)) {
+ insert_here = req->queuelist.prev;
break;
+ }
elv_merge_cleanup(q, req, nr_sectors);
--
Peter Osterlund - petero2@telia.com
http://w1.894.telia.com/~u89404340
next prev parent reply other threads:[~2002-01-04 16:30 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-12-29 16:29 Heinz Diehl
2001-12-29 17:17 ` Jens Axboe
2002-01-04 16:28 ` Peter Osterlund [this message]
2002-01-05 11:33 ` 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=m2sn9m5bcv.fsf@pengo.localdomain \
--to=petero2@telia.com \
--cc=axboe@suse.de \
--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
Powered by JetHome