Re: [usb-storage] Re: Make UAS work on HS for devices with and without command tagging support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 2011-12-19 at 15:57 -0500, Matthew Wilcox wrote:
> On Mon, Dec 19, 2011 at 02:27:38PM -0600, James Bottomley wrote:
> > Hm, OK, that was actually something added to SAM-4.  It's not present in
> > SAM-3.  However, it does look like SAS always tried to get away with
> > this, notably by deciding in SAS-1 (which was SAM-3 based) that the
> > Frame tag wasn't the same thing as a SAM-3 Q.
> 
> So ... T10 have put us in a bit of an awkward position here; by solving
> a problem that didn't need to be solved, they've created a new problem.
> We're sending a packet stream that's permitted by SAS-1 standards and not
> by SAS-2 standards (but probably isn't going to be checked by any device).
> To be technically correct, we've got to use shared tag maps (with the
> extra locking overhead) for any device that claims to be SAS-2 compliant.
> That's ... complex.
> 
> So are we just going to pretend that T10 never made this change?  :-)

No it's worse than that ... SAS-1 also had this language:

        9.2.1

        [...]

        For COMMAND frames and TASK frames, the SSP initiator port shall
        set the TAG field to a value that is unique for the I_T nexus
        established by the connection (see 7.12). An SSP initiator port
        shall not reuse the same tag when transmitting COMMAND frames or
        TASK frames to different LUNs in the same SSP target port. An
        SSP initiator port may reuse a tag when transmitting frames to
        different SSP target ports. The TAG field in a COMMAND frame
        contains the task tag defined in SAM-3. The TAG field in a TASK
        frame does not correspond to a SAM-3 task tag, but corresponds
        to an SAM-3 association (see 10.2.1). The tag space used in the
        TAG fields is shared across COMMAND frames and TASK frames
        (e.g., if a tag is used for a COMMAND frame, it is not also used
        for a concurrent TASK frame).

Note the weasel language about the tag not being the SAM-3 tag but
containing it.  I've no idea what a SAM-3 "association" is because a
word search on the SAM-3 spec doesn't find any such thing.  It looks
like SAS always intended this and SAM-4 was modified to allow it.

James


--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux