From: malahal@us.ibm.com
To: Mike Anderson <andmike@linux.vnet.ibm.com>
Cc: "Shi, Harris" <Harris.Shi@lsi.com>,
Jens Axboe <jens.axboe@oracle.com>,
Alan Stern <stern@rowland.harvard.edu>, Tejun Heo <tj@kernel.org>,
SCSI development list <linux-scsi@vger.kernel.org>
Subject: Re: question on block-layer timeout change
Date: Wed, 12 Nov 2008 09:16:52 -0800 [thread overview]
Message-ID: <20081112171652.GA30108@us.ibm.com> (raw)
In-Reply-To: <20081112072919.GB12192@linux.vnet.ibm.com>
Mike Anderson [andmike@linux.vnet.ibm.com] wrote:
> Shi, Harris <Harris.Shi@lsi.com> wrote:
> > Due to the current timeout management change, our RDAC (failover) driver
> > had some difficulties in handling SCSI I/O timeout. The RDAC driver is in
> > the similar layer as HBA driver in that it will register into scsi
> > mid-layer as scsi_host_template and stays below mid-layer. However, all
> > scsi I/Os coming to RDAC stack are routed by a path then dispatched to the
> > real HBA driver via mid-layer. We used to rely on the timer in
> > scsi_cmnd->eh_timeout to deal with scsi i/o coming into the RDAC stack.
> > Basically when I/O is coming to RDAC stack, we need to delete the timer
> > for each I/O. Then after selecting a specific path for this I/O, we need
> > to send the I/O back to mid-layer with a larger timeout value just to
> > avoid the forced failover. When I/O completes successfully, we added the
> > original timer back to the I/O and pass it over to upper block layer for
> > further process.
> >
> >
> >
> > However, with the current timeout management functions moving to block
> > layer, it became difficult for us to explicitly control the timeout value
> > for specific I/O.
> >
> > Can you shed some lights on how to handle the I/O based timeout in this
> > case?
> >
>
> Since long term mpp capabilities should be handled by dm-mp and the SCSI
> RDAC handler exporting functions to allow direct adding and deleting of the
> timer may not be something that would be needed long term. It may not be
> really clean to add these interfaces in.
>
> Could similar prior functionality be created by the following?
> 1.) To the RDAC vhba add a hostt->eh_timed_out function. In this
> timeout function return BLK_EH_RESET_TIMER until it is done with
> the command. Since the vhba does not have a transport
> scsi_times_out should call this function on every timeout. There is
> some overhead here depending on the default timeout value set in
> timing out and then resetting the timer.
I believe, GDTG driver does this sort of thing for a different purpose.
> 2.) For each sdev that is taken over store the previous
> rq_timed_out_fn and then use blk_queue_rq_timed_out to set a mpp
> specific function for the requests sent to the real HBA drivers.
>
> 3.) Set the timeout in the real HBA driver requests prior to
> sending it to the mid layer.
Should work, I guess...
next prev parent reply other threads:[~2008-11-12 17:16 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <3568BBCB98C00041A9E622952FD5F24EA11C9F3A@cosmail03.lsi.com>
2008-11-12 7:29 ` question on block-layer timeout change Mike Anderson
2008-11-12 17:16 ` malahal [this message]
2008-11-14 8:51 ` Shi, Harris
2008-11-14 17:18 ` malahal
2008-12-10 23:11 ` Shi, Harris
2008-12-11 11:03 ` Hannes Reinecke
2008-12-16 16:55 ` Shi, Harris
2008-12-17 7:33 ` Hannes Reinecke
2008-12-17 22:38 ` Shi, Harris
2008-12-18 9:23 ` Mike Anderson
2008-12-18 22:37 ` Shi, Harris
2009-01-04 17:12 ` Mike Christie
2009-01-07 6:37 ` Shi, Harris
2009-01-07 20:46 ` Mike Christie
2009-01-24 16:34 ` Shi, Harris
2008-11-11 16:26 Question " Shi, Harris
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=20081112171652.GA30108@us.ibm.com \
--to=malahal@us.ibm.com \
--cc=Harris.Shi@lsi.com \
--cc=andmike@linux.vnet.ibm.com \
--cc=jens.axboe@oracle.com \
--cc=linux-scsi@vger.kernel.org \
--cc=stern@rowland.harvard.edu \
--cc=tj@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;
as well as URLs for NNTP newsgroup(s).