public inbox for linux-scsi@vger.kernel.org
 help / color / mirror / Atom feed
From: Mike Christie <michael.christie@oracle.com>
To: Martin Wilck <mwilck@suse.com>,
	bvanassche@acm.org, hch@lst.de, martin.petersen@oracle.com,
	linux-scsi@vger.kernel.org,
	james.bottomley@hansenpartnership.com
Cc: Hannes Reinecke <Hannes.Reinecke@suse.com>
Subject: Re: [PATCH 3/4] scsi: Internally retry scsi_execute commands
Date: Thu, 11 Aug 2022 11:15:20 -0500	[thread overview]
Message-ID: <e7318011-ee9f-05ec-eb87-1d95f4fe12e5@oracle.com> (raw)
In-Reply-To: <e4dd855269b2efb2e2f3efdde92f1f3339159878.camel@suse.com>

On 8/11/22 4:56 AM, Martin Wilck wrote:
>> It could change how 0x04/0x0a is handled because it uses NEEDS_RETRY.
>> However, scsi_dh_alua uses REQ_FAILFAST_DEV so we do not retry in
>> scsi_noretry_cmd like before.
> 
> Not quite following you here - alua_check_sense() is called for any
> command, not just those submitted from the ALUA code.

Ah, I thought you had mentioned alua above because of your alua_rtpg
example. Above I was saying that there was no behavior change for your
alua_rtpg example because it uses REQ_FAILFAST_DEV.


>> 2. Instead of trying to make it general for all scsi_execute_users,
>> we can
>> add SCMD bits for specific cases like DID_TIME_OUT or a SCMD bit that
>> tells
>> scsi_noretry_cmd to not always fail passthrough commands just because
>> they
>> are passthrough. It would work the opposite of the FASTFAIL bits
>> where instead
>> of failing fast, we retry.
>>
>> I think because the cases scsi_noretry_cmd is used for are really
>> specific cases
>> (scsi_decide_disposition sees NEEDS_RETRY, retries < allowed, and
>> REQ_FAILFAST_DEV
>> is not set) that might not be very useful. 
> 
> I don't think it's _that_ speficic. (retries < allowed) is the default
> case, at least for the first failure. REQ_FAILFAST_DEV has very few
> users except for the device handlers, and NEEDS_RETRY is a rather
> frequently used disposition.
I'm saying it's really specific because we only hit this code
path that is causing issues when scsi_check_sense returns NEEDS_RETRY.
There's 5 in there and one in scsi_dh_alua. 4 of them are UAs.

Compared to all the sense errors that we check for in the
scsi_execute callers and including all the times they do a retry for
all errors the 5 cases in scsi_check_sense seemed really specific.

Let me send a patch for this type of design because in the other mail
Christoph was asking for more details. I originally started going that
route so it won't be too much trouble to do a RFC so we can get an
idea of what it will look like.



  reply	other threads:[~2022-08-11 16:43 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-10  3:41 [PATCH 0/4] scsi: passthrough fixes/improvements Mike Christie
2022-08-10  3:41 ` [PATCH 1/4] scsi: Fix passthrough retry counter handling Mike Christie
2022-08-11 12:16   ` Christoph Hellwig
2022-08-10  3:41 ` [PATCH 2/4] scsi: Add new SUBMITTED types for passthrough Mike Christie
2022-08-11 12:21   ` Christoph Hellwig
2022-08-10  3:41 ` [PATCH 3/4] scsi: Internally retry scsi_execute commands Mike Christie
2022-08-10 10:46   ` Martin Wilck
2022-08-10 17:06     ` Mike Christie
2022-08-10 17:38       ` Mike Christie
2022-08-11 12:28         ` Christoph Hellwig
2022-08-11 16:19           ` Mike Christie
2022-08-11  9:56       ` Martin Wilck
2022-08-11 16:15         ` Mike Christie [this message]
2022-08-11 17:02           ` Martin Wilck
2022-08-11 18:22             ` Mike Christie
2022-08-11 12:27       ` Christoph Hellwig
2022-08-10  3:41 ` [PATCH 4/4] scsi: Handle UAs for pr_ops Mike Christie

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=e7318011-ee9f-05ec-eb87-1d95f4fe12e5@oracle.com \
    --to=michael.christie@oracle.com \
    --cc=Hannes.Reinecke@suse.com \
    --cc=bvanassche@acm.org \
    --cc=hch@lst.de \
    --cc=james.bottomley@hansenpartnership.com \
    --cc=linux-scsi@vger.kernel.org \
    --cc=martin.petersen@oracle.com \
    --cc=mwilck@suse.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