From: Rob Evers <revers@redhat.com>
To: Hannes Reinecke <hare@suse.de>
Cc: Mike Christie <michaelc@cs.wisc.edu>, linux-scsi@vger.kernel.org
Subject: Re: [PATCH] delay transition requeues for 2 seconds - alua
Date: Fri, 10 Feb 2012 15:04:27 -0500 [thread overview]
Message-ID: <4F35784B.4000902@redhat.com> (raw)
In-Reply-To: <4F106F11.5050702@redhat.com>
On 01/13/2012 12:51 PM, Rob Evers wrote:
> On 01/12/2012 05:13 PM, Hannes Reinecke wrote:
>> On 01/12/2012 08:59 PM, Mike Christie wrote:
>>> On 01/12/2012 01:54 PM, Mike Christie wrote:
>>>> alua_check_sense will return ADD_TO_MLQUEUE_DELAY then
>>>> scsi_check_sense
>>>> will pass that up and scsi_decide_disposition will return that right
>>>> away.
>>>
>>> I mean it is one of those weird ones where we do not do the goto
>>> maybe_retry in scsi_decide_disposition, so we do not see the fast fail
>>> bit set. This happens for ADD_TO_MLQUEUE_DELAY and ADD_TO_MLQUEUE.
>>>
>> Hmm. Not sure here.
>> With the above reasoning SG_IO would be retried, too.
>> Which it most definitely isn't.
>>
>> I'll be digging deeper here tomorrow.
>>
>> Cheers,
>>
>> Hannes
>
> Hannes,
>
> I ran some tests today to verify what you said about rtpg not ending
> up executing the ADD_TO_MLQUEUE_DELAY path via scsi_softirq_done.
>
> So yes, looks like another delay is required in alua_rtpg.
It turns out that the rtpg activity on an array is limited during these
transitions and scales with the number of paths connected to the array.
What I have seen for rtpg sense codes after the first alua_rtpg retry is:
06/29/00
06/2a/06
and 1-2 retries in alua_rtpg for the first retry condition. This is for
every path to an array.
This activity follows shortly after an array controller reboot.
The rtpg retries all occur within a second of each other.
The rtpg sense codes never match the modifications to alua_check_sense
where a ADD_TO_MLQUEUE_DELAY condition gets triggered (2/4/a). This is
confirmed by our array vendor partner.
The 1st rtpg retries in alua_rtpg don't get delayed by the sdevice queue
being
delayed, at least they are never seperated by 2 seconds as would
indicate that.
I could use an explanation of why the rtpgs retries don't get delayed,
if someone knows and would be so kind.
The alua_check_sense 2/4/a triggers the ADD_TO_MLQUEUE_DELAY condition
and this does cause the sdevice queue to delay, and this repeats every 2
seconds
as expected during the transitions.
Hannes,
Can you revisit this?
Thanks, Rob
next prev parent reply other threads:[~2012-02-10 20:04 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-01-03 19:20 [PATCH] delay transition requeues for 2 seconds - alua Rob Evers
2012-01-07 15:06 ` Rob Evers
2012-04-25 22:16 ` Rob Evers
2012-01-12 9:43 ` Hannes Reinecke
2012-01-12 17:03 ` Rob Evers
2012-01-12 21:23 ` Hannes Reinecke
2012-01-12 19:54 ` Mike Christie
2012-01-12 19:59 ` Mike Christie
2012-01-12 22:13 ` Hannes Reinecke
2012-01-13 17:51 ` Rob Evers
2012-02-10 20:04 ` Rob Evers [this message]
-- strict thread matches above, loose matches on Subject: below --
2011-12-13 22:40 Rob Evers
2011-12-20 15:41 ` Hannes Reinecke
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=4F35784B.4000902@redhat.com \
--to=revers@redhat.com \
--cc=hare@suse.de \
--cc=linux-scsi@vger.kernel.org \
--cc=michaelc@cs.wisc.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.