From: James Bottomley <James.Bottomley@HansenPartnership.com>
To: Alireza Haghdoost <alireza@cs.umn.edu>
Cc: linux-scsi@vger.kernel.org,
Andrew Vasquez <andrew.vasquez@qlogic.com>,
linux-driver@qlogic.com, Jerry Fredin <jerry.fredin@netapp.com>
Subject: Re: [SCSI] qla2xxx: Question about out-of-order SCSI command processing
Date: Mon, 02 Dec 2013 15:38:46 -0800 [thread overview]
Message-ID: <1386027526.2014.2.camel@dabdike.int.hansenpartnership.com> (raw)
In-Reply-To: <CAB-428kfuWWGDhciGTAy6OCZr8ACBh52_iebBd8U4gwN0S7GPA@mail.gmail.com>
On Mon, 2013-12-02 at 16:12 -0600, Alireza Haghdoost wrote:
> Hi,
>
> We are working on a very high I/O throughput application and facing
> with a challenge to send the I/O request to a SAN drive in-order. I
> would appreciate if you can help us with an explanation about this
> unexpected behavior of SCSI layer or qla2xxx driver.
>
> The problem is that I/O requests arrive out-of-order to the SAN
> controller if we submit those request with about 1us gap. In other
> words, we observed if we issue I/O request very fast they arrive to
> the SAN controller out-of-order. For example we observe I/O requests
> dispatched from block layer request_queue with the ordering in the
> lefts column and then arrive to the SAN controller with right column
> order:
Well this would be because we don't guarantee order at any granularity
below barriers. We won't reorder across barriers but below them we can
reorder the commands and, of course, we use simple tags for queuing
which entitles the underlying storage hardware to reorder within its
internal queue. Previously, when everything was single threaded issue,
you mostly got FIFO behaviour because reorder really only occurred on
error or busy, but I would imagine that's changing now with multiqueue.
James
next prev parent reply other threads:[~2013-12-02 23:38 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-12-02 22:12 [SCSI] qla2xxx: Question about out-of-order SCSI command processing Alireza Haghdoost
2013-12-02 23:38 ` James Bottomley [this message]
2013-12-03 12:26 ` Bart Van Assche
2013-12-03 13:25 ` James Bottomley
2013-12-03 17:46 ` Alireza Haghdoost
2013-12-03 18:34 ` James Bottomley
2013-12-03 12:09 ` Bart Van Assche
2013-12-03 17:19 ` Alireza Haghdoost
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=1386027526.2014.2.camel@dabdike.int.hansenpartnership.com \
--to=james.bottomley@hansenpartnership.com \
--cc=alireza@cs.umn.edu \
--cc=andrew.vasquez@qlogic.com \
--cc=jerry.fredin@netapp.com \
--cc=linux-driver@qlogic.com \
--cc=linux-scsi@vger.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