From: James Bottomley <James.Bottomley@steeleye.com>
To: Alan Stern <stern@rowland.harvard.edu>
Cc: Mike Anderson <andmike@us.ibm.com>,
SCSI development list <linux-scsi@vger.kernel.org>
Subject: Re: Requested changes for the SCSI error handler
Date: 01 Jun 2004 15:46:14 -0500 [thread overview]
Message-ID: <1086122775.2061.87.camel@mulgrave> (raw)
In-Reply-To: <Pine.LNX.4.44L0.0406011617260.1167-100000@ida.rowland.org>
On Tue, 2004-06-01 at 15:29, Alan Stern wrote:
> You mean, in the hostt->eh_{bus|host}_reset_handler() routines? That
> would be fine with me. Isn't it true that we don't even have to block the
> host, since this all executes in the error-handler thread?
Actually yes. The block would only have to be implemented in the
asynchronous report path.
> In addition, the settle-time delays would have to be removed from the
> error handler -- which means adding it to all the low-level drivers. Is
> that doable?
Well, for 2.6, I think that a simple flag indicating that the driver
will implement it's own timeout should suffice rather than altering
every LLD...
> > > In scsi_eh_ready_devs(), it would be good if some of the resets
> > > could be skipped sometimes. For example, if the low-level
> > > driver has just done its own bus-device reset (and called
> > > scsi_report_device_reset) then there's no point in doing
> > > scsi_eh_bus_device_reset(). The same is true for bus resets.
> > > It just adds additional timeout delays to an already-lengthy
> > > recovery process.
> >
> > Well, tidying up the reports could be done. Really we should treat them
> > as error conditions: mark all the in-progress commands for the devices
> > and probe with a TUR before resuming.
>
> In practice the LLD-initiated resets are likely to accompany command
> failures or errors anyway. But this doesn't answer my question: Can the
> error-handler's redundant resets be skipped?
Well, no. The reason is that the report interfaces are reporting
asynchronous events (that the HBA may notice some while after they
actually occurred). Even if the host reports a device reset, it is very
possible that a command went to the device *after* that event occurred,
so we'd still have to reset the device again to kill that command.
James
next prev parent reply other threads:[~2004-06-01 20:46 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-06-01 18:50 Requested changes for the SCSI error handler Alan Stern
2004-06-01 19:58 ` James Bottomley
2004-06-01 20:29 ` Alan Stern
2004-06-01 20:46 ` James Bottomley [this message]
2004-06-04 20:59 ` Alan Stern
2004-06-04 23:23 ` Mike Anderson
2004-06-05 22:41 ` Alan Stern
2004-06-08 16:26 ` James Bottomley
2004-06-08 17:19 ` Mike Anderson
2004-06-08 18:31 ` Alan Stern
2004-06-08 18:39 ` Mike Anderson
2004-06-08 22:00 ` 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=1086122775.2061.87.camel@mulgrave \
--to=james.bottomley@steeleye.com \
--cc=andmike@us.ibm.com \
--cc=linux-scsi@vger.kernel.org \
--cc=stern@rowland.harvard.edu \
/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