public inbox for linux-scsi@vger.kernel.org
 help / color / mirror / Atom feed
From: Mike Christie <michaelc@cs.wisc.edu>
To: James Bottomley <James.Bottomley@HansenPartnership.com>
Cc: linux-scsi@vger.kernel.org, jens.axboe@oracle.com,
	Mike Christie <mchristi@redhat.com>
Subject: Re: [PATCH 1/1] block: set req->timeout in blk_add_timer
Date: Sat, 06 Sep 2008 08:34:22 -0500	[thread overview]
Message-ID: <48C286DE.6060902@cs.wisc.edu> (raw)
In-Reply-To: <1220706621.3430.1.camel@localhost.localdomain>

James Bottomley wrote:
> On Sat, 2008-09-06 at 00:50 -0500, michaelc@cs.wisc.edu wrote:
>> From: Mike Christie <mchristi@redhat.com>
>>
>> To prevent a reques from running forever, scsi-ml checks if
>> a command has been running req->timeout * cmd->allowed + 1 seconds.
>> If it has, scsi-ml will fail the request. From what I can tell
>> it looks like in Jen's tree that the block layer is not setting
>> this value, so a command is failed right away a lot of times because
>> wait_for in scsi_softirq_done is zero seconds. It is only set by ioctls
>> and passthrough.
>>
>> This patch just copies the q timeout that is used, so any one
>> checking it will still be able to see it.
>>
>> For the scsi-ml req->timeout usage, I think we can move the retries and
>> the infinite retry check from the scsi layer to the block layer. I was
>> not sure if we should do that in this patch or a separate one. I can
>> cook up another patch if people want. If it would be possible to do
>> that after MikeA's patches it would probably be best though since
>> he is working on that code too.
> 
> Sure, basically move all responsibility for retries to block.  That will
> require a few other things like abstracting scsi_decide_disposition.  I
> actually had an impression from one of the storage summits that someone
> was working on this.
> 

I remember talking about at the first summit now. Maybe I was doing it 
as part of the move the command timer to the block layer patches and 
request based multipath stuff, or maybe someone else was as part of the 
request_queue groups stuff. I will look into it again. Thanks.

  reply	other threads:[~2008-09-06 13:34 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-09-06  5:50 [PATCH 1/1] block: set req->timeout in blk_add_timer michaelc
2008-09-06 13:10 ` James Bottomley
2008-09-06 13:34   ` Mike Christie [this message]
2008-09-08  7:38 ` 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=48C286DE.6060902@cs.wisc.edu \
    --to=michaelc@cs.wisc.edu \
    --cc=James.Bottomley@HansenPartnership.com \
    --cc=jens.axboe@oracle.com \
    --cc=linux-scsi@vger.kernel.org \
    --cc=mchristi@redhat.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox