From: Jens Axboe <axboe@suse.de>
To: James Bottomley <James.Bottomley@steeleye.com>
Cc: Mark Haverkamp <markh@osdl.org>,
Nick Piggin <piggin@cyberone.com.au>,
Andrew Morton <akpm@osdl.org>, Daniel McNeil <daniel@osdl.org>,
Cliff White <cliffw@osdl.org>,
linux-scsi <linux-scsi@vger.kernel.org>
Subject: Re: [PATCH] as i/o hang with aacraid driver 2.6.0-test1
Date: Sat, 19 Jul 2003 10:26:33 +0200 [thread overview]
Message-ID: <20030719082633.GF833@suse.de> (raw)
In-Reply-To: <1058559719.1826.106.camel@mulgrave>
On Fri, Jul 18 2003, James Bottomley wrote:
> On Fri, 2003-07-18 at 12:46, Mark Haverkamp wrote:
> > I'll try out your test harness on our hardware and see what happens.
>
> OK, I think I found the problem.
>
> Parts of the SCSI and block code don't distinguish between queueing and
> requeueing, so they trip over the exact same error.
>
> The (fairly invasive) fix is to add an extra parameter to
> blk_insert_request to tell it if this is a reinsertion or a new request
> (patch attached--against Jens' previous one).
>
> With this, I now get the AS ioscheduler to survive my tests.
>
> Incidentally, I'm not sure whether scsi_requeue_command() counts as a
> reinsertion. It's used to redo I/O after end_that_request_first() but
> before end_that_request_last().
>
> @@ -1550,11 +1551,15 @@
> /*
> * If command is tagged, release the tag
> */
> - if (blk_rq_tagged(rq))
> - blk_queue_end_tag(q, rq);
> + if(reinsert) {
> + blk_requeue_request(q, rq);
> + } else {
> + if (blk_rq_tagged(rq))
> + blk_queue_end_tag(q, rq);
>
> - drive_stat_acct(rq, rq->nr_sectors, 1);
> - __elv_add_request(q, rq, !at_head, 0);
> + drive_stat_acct(rq, rq->nr_sectors, 1);
> + __elv_add_request(q, rq, !at_head, 0);
> + }
> q->request_fn(q);
> spin_unlock_irqrestore(q->queue_lock, flags);
much better, looks good to me. Andrew, could you pull your hack and
apply mine + this one? If James doesn't beat me to it, I can make a
complete patch this afternoon.
--
Jens Axboe
next prev parent reply other threads:[~2003-07-19 8:11 UTC|newest]
Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-07-15 23:02 [PATCH] as i/o hang with aacraid driver 2.6.0-test1 Mark Haverkamp
2003-07-16 1:40 ` Nick Piggin
2003-07-16 5:53 ` Jens Axboe
2003-07-16 12:41 ` James Bottomley
2003-07-16 12:45 ` Jens Axboe
2003-07-16 12:56 ` James Bottomley
2003-07-16 13:20 ` Jens Axboe
2003-07-16 14:07 ` James Bottomley
2003-07-16 17:04 ` Jens Axboe
2003-07-17 8:57 ` Andrew Morton
2003-07-17 8:59 ` Jens Axboe
2003-07-17 9:56 ` Nick Piggin
2003-07-17 10:29 ` Jens Axboe
2003-07-17 10:51 ` Nick Piggin
2003-07-17 10:56 ` Jens Axboe
2003-07-17 11:09 ` Nick Piggin
2003-07-17 11:11 ` Jens Axboe
2003-07-17 11:28 ` Nick Piggin
2003-07-17 11:29 ` Jens Axboe
2003-07-17 14:44 ` Mark Haverkamp
2003-07-17 15:43 ` James Bottomley
2003-07-17 20:46 ` Mark Haverkamp
[not found] ` <1058481553 .19508.5.camel@markh1.pdx.osdl.net>
2003-07-17 22:39 ` Mark Haverkamp
2003-07-17 23:47 ` Daniel McNeil
2003-07-18 0:00 ` Andrew Morton
2003-07-18 5:14 ` Nick Piggin
2003-07-18 5:25 ` Andrew Morton
2003-07-18 5:30 ` Nick Piggin
2003-07-18 5:35 ` Nick Piggin
2003-07-18 14:16 ` James Bottomley
2003-07-18 16:30 ` Andrew Morton
2003-07-18 16:41 ` James Bottomley
2003-07-18 17:25 ` Alan Cox
2003-07-31 7:40 ` Nick Piggin
2003-07-18 17:45 ` Andrew Morton
2003-07-18 18:34 ` James Bottomley
2003-07-18 14:00 ` James Bottomley
2003-07-18 15:03 ` Mark Haverkamp
2003-07-18 16:28 ` Mark Haverkamp
2003-07-18 16:56 ` James Bottomley
2003-07-18 17:46 ` Mark Haverkamp
2003-07-18 20:21 ` James Bottomley
2003-07-18 20:39 ` Christoph Hellwig
2003-07-18 20:45 ` Mark Haverkamp
2003-07-19 8:26 ` Jens Axboe [this message]
2003-07-31 7:16 ` Nick Piggin
2003-07-31 14:28 ` James Bottomley
2003-07-31 14:40 ` Mark Haverkamp
2003-07-31 22:48 ` Nick Piggin
2003-07-17 10:57 ` Jens Axboe
2003-07-17 11:08 ` Nick Piggin
2003-07-17 11:10 ` Jens Axboe
2003-07-17 11:21 ` Nick Piggin
2003-07-17 11:23 ` Jens Axboe
2003-07-17 11:29 ` Nick Piggin
2003-07-16 22:45 ` Mark Haverkamp
2003-07-16 13:06 ` Alan Cox
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=20030719082633.GF833@suse.de \
--to=axboe@suse.de \
--cc=James.Bottomley@steeleye.com \
--cc=akpm@osdl.org \
--cc=cliffw@osdl.org \
--cc=daniel@osdl.org \
--cc=linux-scsi@vger.kernel.org \
--cc=markh@osdl.org \
--cc=piggin@cyberone.com.au \
/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