SORT BY:

LIST ORDER
THREAD
AUTHOR
SUBJECT


SEARCH

IPS HOME


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

    RE: Data in SCSI Response or SCSI Data



    Steph,
    
    I think that you're right about all RDMA mechanisms not being able to append
    "general delivery" data to the end of a transfer. Years ago, before many of
    the current FC controller chips were designed, I seem to remember a
    discussion in T11 where a bunch of hardware guys demonstrated that this
    would add significant complexity even if it was possible. I think that they
    also showed that there were pathological cases where "no errors" would be
    reported where in fact an error would later be detected. I don't guarantee
    that the same pathological cases exist in iSCSI, of course, and I don't know
    if the implementers would say the same now given experience with current
    hardware.
    
    What I've wondered since then is if its possible to add a flag to a data
    transfer that says in effect "all of the data transfers previous to this one
    completed with no error and no good status was transferred". Once an error
    is detected, this flag is reset, and then ALL status (even good status) is
    transferred for subsequent commands until there is a specific reset action.
    Yes, I know that's another state machine, but it is a fairly simple one, and
    it ought to be fairly efficient if errors are as rare as everybody thinks. I
    don't think this has to be done on a per Initiator basis, either.
    
    Regards,
    
    
    
    
    
    Roger Cummings
    VERITAS Software
    
    -----Original Message-----
    From: Stephen Bailey [mailto:steph@cs.uchicago.edu]
    Sent: Friday, August 25, 2000 3:12 PM
    To: ips@ece.cmu.edu
    Subject: Re: Data in SCSI Response or SCSI Data 
    
    
    > Is there anything preventing your hypothetical hardware implementor
    > to send always good status within the last block of data?
    
    It depends upon the RDMA mechanism you are using.  I admit that I have
    not studied them in detail, other than ST of course, which is
    essentially an transport protocol based upon a particular RDMA
    mechanism.  I will try to do so soon to determine if I'm all wet.
    
    However, assuming that the RDMA mechanism operates on a per-datagram
    basis, I can only imagine that you will not be able to append
    `general delivery' data to the end of an RDMA datagram.  In this case,
    you will need a separate datagram to ensure that status is delivered
    through a separate path from the data.
    
    So, while I think concatenating status and data in its general form is
    not a good idea, a good-status fast path (like the success bit) is
    definitely the right way to think about it.  Nonsuccess SCSI status is
    so rare that any compromise you can make in the nonsuccess path to
    make the success path go faster is worth it.
    
    Steph
    


Home

Last updated: Tue Sep 04 01:07:43 2001
6315 messages in chronological order