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



--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to