public inbox for linux-scsi@vger.kernel.org
 help / color / mirror / Atom feed
From: Mike Christie <mikenc@us.ibm.com>
To: James Bottomley <James.Bottomley@steeleye.com>
Cc: Masao Fukuchi <fukuchi.masao@jp.fujitsu.com>,
	SCSI Mailing List <linux-scsi@vger.kernel.org>
Subject: Re: [PATCH] improvement of fastfail operation
Date: Mon, 29 Mar 2004 02:20:17 -0800	[thread overview]
Message-ID: <4067F861.5040605@us.ibm.com> (raw)
In-Reply-To: <1080403035.2078.10.camel@mulgrave>

James Bottomley wrote:
> On Tue, 2004-03-23 at 19:38, Masao Fukuchi wrote:
> 
>>We propose the following improvements for fastfail.
>>
>>1.Validate fastfail flag for command timeout.
>>  Currently fastfail flag is not valid for command timeout and repeats
>>  4 times.
>>2.Set timeout value to 10sec.
>>  Currently timeout value is set to 30sec.
>>3.Set wait time for bus reset/host reset to 5sec.
>>  Currently wait time is set to 10sec.
>>  (In many cases, abort task command fails for command timeout and it needs
>>  bus reset or host reset operation)
>>
>>Each timeout values come from:
>>  timeout(10sec)+Abort/Bus reset(5sec+)+alt retry timeout(10sec) < 30sec
>>
>>This is one idea for quick response on device/path error.
>>If you have any comments or idea for this improvements, please let me know.
> 
> 
> This isn't the right thing to do.  These timeouts control transport
> recovery; if it's safe to lower them in the fastfail case, then it would
> also be safe to lower them in the general case.
> 
> The correct thing for what you want to do would be to return the command
> with a transient transport error (which we don't actually have yet)
> *before* beginning transport recovery.  This is not going to be easy
> because we need to return a command we're also going to do error
> recovery on (so it can't be freed as normal).  I'd suggest the best way
> to do this would be to refcount the commands.
> 

Could this be a place to start using the transport framework? For 
something like iSCSI the timeout value should probably have the network 
load factored into it. This could be set with a transport class 
attribute (although for scanning this would probably require per host 
values as the device ones would not yet be available), which when a 
driver registers the set/get_timeout functions it could also set a 
add_timer and times_out function. I have something like this now, but 
how it works with the mid layer error handling still has kinks.

Mike

  reply	other threads:[~2004-03-29 11:01 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-03-24  0:38 [PATCH] improvement of fastfail operation Masao Fukuchi
2004-03-27 15:57 ` James Bottomley
2004-03-29 10:20   ` Mike Christie [this message]
2004-03-29 12:17   ` Masao Fukuchi
2004-03-31  1:29     ` James Bottomley
2004-03-31  5:14       ` Mike Christie
2004-03-31 22:04         ` Jens Axboe
2004-03-31 22:11           ` James Bottomley
2004-03-31 22:12             ` Jens Axboe
2004-03-31 23:15               ` Mike Christie
2004-04-01  6:47                 ` Jens Axboe
     [not found]                 ` <406BC50E.6090100@us.ibm.com>
2004-04-01  7:53                   ` Mike Christie
2004-04-01 15:06                     ` James Bottomley

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=4067F861.5040605@us.ibm.com \
    --to=mikenc@us.ibm.com \
    --cc=James.Bottomley@steeleye.com \
    --cc=fukuchi.masao@jp.fujitsu.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox