On Tue, Dec 3, 2013 at 7:25 AM, James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> wrote: > Well, no, we could have used Ordered instead of Simple tags ... that > would preserve submission order according to spec. This wouldn't really > work for SATA because NCQ only has simple tags. Thanks a lot James for your comments. Is it possible to configure TCQ mode to the Ordered tag instead of Simple tags? I understand that NCQ does not support Ordered tags but I think it would be nice to keep this functionality as an option for other SCSI targets like qla2xxx. I can see the discussion about TAG ordering in the mailing list. However, I am not sure if it is functional right now or not. > The point is that our > granular unit of ordering is between two barriers, which is way above > the request/tag level so we didn't bother to enforce tag ordering. Does a barrier force flush all in_flight SCSI commands ? Based on my understanding if we put a barrier between multiple requests, it wont return until TCQ process all in_flight scsi commands. Which means we can not keep a fixed load on TCQ and it would certainly reduce the throughput of our application. > However, handling > strict ordering in the face of requeuing events like QUEUE FULL or BUSY > is hard so we didn't bother. We have a peace of code to monitor in_flight requests and avoid QUEUE_FULL events. However, would you please let us know a case that cause a BUSY events ? Does it means the scsi target is busy processing other requests with-in the same host machine ? -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html