From: Mike Anderson <andmike@linux.vnet.ibm.com>
To: Jens Axboe <jens.axboe@oracle.com>
Cc: linux-scsi@vger.kernel.org,
James Bottomley <James.Bottomley@suse.de>,
dm-devel@redhat.com
Subject: Re: [PATCH 1/9] blk: Do not abort requests if queue is stopped
Date: Tue, 4 May 2010 21:52:31 -0700 [thread overview]
Message-ID: <20100505045231.GA25395@linux.vnet.ibm.com> (raw)
In-Reply-To: <20100504104537.GN27497@kernel.dk>
Jens Axboe <jens.axboe@oracle.com> wrote:
> On Mon, May 03 2010, Mike Anderson wrote:
> > If the queue is stopped it could be an indication that other recovery is
> > happening in this case skip the blk_abort_request.
> >
> > Signed-off-by: Mike Anderson <andmike@linux.vnet.ibm.com>
> > Cc: Jens Axobe <jens.axboe@oracle.com>
> > ---
> > block/blk-timeout.c | 3 ++-
> > 1 files changed, 2 insertions(+), 1 deletions(-)
> >
> > diff --git a/block/blk-timeout.c b/block/blk-timeout.c
> > index 1ba7e0a..89fbe0a 100644
> > --- a/block/blk-timeout.c
> > +++ b/block/blk-timeout.c
> > @@ -224,7 +224,8 @@ void blk_abort_queue(struct request_queue *q)
> > list_splice_init(&q->timeout_list, &list);
> >
> > list_for_each_entry_safe(rq, tmp, &list, timeout_list)
> > - blk_abort_request(rq);
> > + if (!blk_queue_stopped(q))
> > + blk_abort_request(rq);
> >
> > /*
> > * Occasionally, blk_abort_request() will return without
>
> That seems like a bit of a mixup, what ties a stopped queue to recovery?
This was coding to SCSI behavior again. I tried to reduce the case of
waking the eh if the transport moved the target into a blocked state. It
might be redundant as FC has eh blocking and timer_reset. iSCSI has
blocking but not eh blocking.
> To take one example, the cciss driver stops the queue when it can't
> queue more at the hw level and starts it on completion to queue more. If
> recovery triggers when the hw queue has been filled, then timeouts will
> fail?
>
> It would be better to mark the queue as already doing abort. That state
> could be in the queue, or it could be at the driver level.
ok. I will look into this.
-andmike
--
Michael Anderson
andmike@linux.vnet.ibm.com
next prev parent reply other threads:[~2010-05-05 4:52 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-05-04 3:36 [PATCH 0/9] blk: scsi: blk abort queue updates Mike Anderson
2010-05-04 3:37 ` [PATCH 1/9] blk: Do not abort requests if queue is stopped Mike Anderson
2010-05-04 10:40 ` Hannes Reinecke
2010-05-04 10:45 ` Jens Axboe
2010-05-05 4:52 ` Mike Anderson [this message]
2010-05-05 18:13 ` Mike Christie
2010-05-05 18:18 ` Mike Anderson
2010-05-04 3:37 ` [PATCH 2/9] blk: In elv_abort_queue skip requests with REQ_DONTPREP set Mike Anderson
2010-05-04 10:40 ` Hannes Reinecke
2010-05-04 10:47 ` Jens Axboe
2010-05-04 17:58 ` Mike Anderson
2010-05-05 8:21 ` Jens Axboe
2010-05-04 3:37 ` [PATCH 3/9] blk: Add a unprep_rq_fn Mike Anderson
2010-05-04 10:41 ` Hannes Reinecke
2010-05-04 3:37 ` [PATCH 4/9] blk: Call unprep_fn from elv_abort_queue is available Mike Anderson
2010-05-04 10:42 ` Hannes Reinecke
2010-05-04 10:42 ` [dm-devel] " Hannes Reinecke
2010-05-04 3:37 ` [PATCH 5/9] scsi: Add a scsi_unprep_fn Mike Anderson
2010-05-04 10:43 ` [dm-devel] " Hannes Reinecke
2010-05-04 10:48 ` Jens Axboe
2010-05-04 3:37 ` [PATCH 6/9] blk: Add request atomic flag for abort Mike Anderson
2010-05-04 10:43 ` [dm-devel] " Hannes Reinecke
2010-05-04 3:37 ` [PATCH 7/9] blk: Mark requests aborted Mike Anderson
2010-05-04 10:44 ` Hannes Reinecke
2010-05-04 3:37 ` [PATCH 8/9] scsi: Add scsi_requeue_request function Mike Anderson
2010-05-04 3:37 ` [PATCH 9/9] scsi: Add blk_request_aborted check Mike Anderson
2010-05-04 10:45 ` Hannes Reinecke
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=20100505045231.GA25395@linux.vnet.ibm.com \
--to=andmike@linux.vnet.ibm.com \
--cc=James.Bottomley@suse.de \
--cc=dm-devel@redhat.com \
--cc=jens.axboe@oracle.com \
--cc=linux-scsi@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.