|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] RE: Data in SCSI Response or SCSI DataSteph, 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 |