From: James Bottomley <James.Bottomley@suse.de>
To: Vikas Chaudhary <vikas.chaudhary@qlogic.com>
Cc: Mike Christie <michaelc@cs.wisc.edu>,
"linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>,
Nilesh Javali <nilesh.javali@qlogic.com>,
Ravi Anand <ravi.anand@qlogic.com>
Subject: RE: [PATCH 06/15] qla4xxx: Do not wait for the outstanding commands to complete
Date: Mon, 25 Oct 2010 14:56:50 -0500 [thread overview]
Message-ID: <1288036610.5487.704.camel@mulgrave.site> (raw)
In-Reply-To: <5E4F49720D0BAD499EE1F01232234BA87129406BE7@AVEXMB1.qlogic.org>
On Mon, 2010-10-11 at 02:24 -0700, Vikas Chaudhary wrote:
> >-----Original Message-----
> >From: Mike Christie [mailto:michaelc@cs.wisc.edu]
> >Sent: Friday, October 08, 2010 8:16 AM
> >To: Vikas Chaudhary
> >Cc: James.Bottomley@suse.de; linux-scsi@vger.kernel.org; Nilesh Javali;
> >Ravi Anand
> >Subject: Re: [PATCH 06/15] qla4xxx: Do not wait for the outstanding
> >commands to complete
> >
> >On 10/07/2010 12:49 AM, Vikas Chaudhary wrote:
> >> From: Nilesh Javali<nilesh.javali@qlogic.com>
> >>
> >> Do not wait for the outstanding commands to complete in case of
> >> firmware hang.
> >>
> >> Signed-off-by: Nilesh Javali<nilesh.javali@qlogic.com>
> >> Signed-off-by: Vikas Chaudhary<vikas.chaudhary@qlogic.com>
> >> Signed-off-by: Ravi Anand<ravi.anand@qlogic.com>
> >> ---
> >> drivers/scsi/qla4xxx/ql4_os.c | 6 ++++--
> >> 1 files changed, 4 insertions(+), 2 deletions(-)
> >>
> >> diff --git a/drivers/scsi/qla4xxx/ql4_os.c
> >> b/drivers/scsi/qla4xxx/ql4_os.c index 56962e5..a6455fb 100644
> >> --- a/drivers/scsi/qla4xxx/ql4_os.c
> >> +++ b/drivers/scsi/qla4xxx/ql4_os.c
> >> @@ -1102,7 +1102,8 @@ static int qla4xxx_recover_adapter(struct
> >scsi_qla_host *ha)
> >> ha->host_no, __func__));
> >> status = ha->isp_ops->reset_firmware(ha);
> >> if (status == QLA_SUCCESS) {
> >> - qla4xxx_cmd_wait(ha);
> >> + if (!test_bit(AF_FW_RECOVERY,&ha->flags))
> >> + qla4xxx_cmd_wait(ha);
> >> ha->isp_ops->disable_intrs(ha);
> >> qla4xxx_process_aen(ha, FLUSH_DDB_CHANGED_AENS);
> >> qla4xxx_abort_active_cmds(ha, DID_RESET<< 16); @@ -
> >1119,7
> >> +1120,8 @@ static int qla4xxx_recover_adapter(struct scsi_qla_host *ha)
> >> * or if stop_firmware fails for ISP-82xx.
> >> * This is the default case for ISP-4xxx */
> >> if (!is_qla8022(ha) || reset_chip) {
> >> - qla4xxx_cmd_wait(ha);
> >> + if (!test_bit(AF_FW_RECOVERY,&ha->flags))
> >> + qla4xxx_cmd_wait(ha);
> >> qla4xxx_process_aen(ha, FLUSH_DDB_CHANGED_AENS);
> >> qla4xxx_abort_active_cmds(ha, DID_RESET<< 16);
> >> DEBUG2(ql4_printk(KERN_INFO, ha,
> >
> >If we go from qla4xxx_eh_host_reset->qla4xxx_recover_adapter and you do not
> >wait, is is possible for the driver to be accessing scsi commands after
> >qla4xxx_eh_host_reset returns? If so I think there is a problem where the
> >scsi eh will fail or retry the cmd so the memory for the scsi command could
> >be reallocated/freed.
> >
>
> We do not access command after qla4xxx_eh_host_reset returns.
>
> >On a related note, has qla4xxx_eh_host_reset ever returned SUCCESS? I think
> >there is a problem in qla4xxx_cmd_wait when the scsi eh is running. At that
> >time blk_finish_request->blk_queue_end_tag is not going to be run, because
> >if the driver were to call scsi_done the block layer would do
> >blk_complete_request and the blk_mark_rq_complete would fail (this is
> >because the scsi/block eh timeout could has already marked it complete).
> >
> >I think you need the attached patch.
>
> Yes. We need attached patch. I am doing some testing with this patch.
> I will send out this patch for inclusion soon.
Is there an update on this? It would be nice to include it before the
merge window closes.
James
next prev parent reply other threads:[~2010-10-25 19:56 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-10-07 5:49 [PATCH 06/15] qla4xxx: Do not wait for the outstanding commands to complete Vikas Chaudhary
2010-10-08 2:46 ` Mike Christie
2010-10-11 9:24 ` Vikas Chaudhary
2010-10-25 19:56 ` James Bottomley [this message]
2010-10-25 23:22 ` Ravi Anand
2010-10-26 12:44 ` Vikas Chaudhary
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=1288036610.5487.704.camel@mulgrave.site \
--to=james.bottomley@suse.de \
--cc=linux-scsi@vger.kernel.org \
--cc=michaelc@cs.wisc.edu \
--cc=nilesh.javali@qlogic.com \
--cc=ravi.anand@qlogic.com \
--cc=vikas.chaudhary@qlogic.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