Re: Some questions related to "last segment" of a ddp message
Caitlin Bestler <[email protected]>
| Newsgroups | gmane.ietf.rddp |
|---|---|
| Message-ID | <[email protected]> |
On Jan 23, 2004, at 3:07 PM, <[email protected]> wrote: > Caitlin, > > I don't see any "SHOULD" in the draft regarding sending the segments > into > ascending order. Are you suggesting that there should be a SHOULD or is > there a SHOULD I am missing? DDP section 7.3 ("Ordering Among DDP Messages") specifies: At the Data Source, DDP: * MUST transmit DDP Messages in the order they were submitted to the DDP layer, * SHOULD transmit DDP Segments within a DDP Message in increasing MO order for Untagged DDP Messages and in increasing TO order for Tagged DDP Messages. > > I'm also not sure there is a technical reason that justifies such a > SHOULD. > It would make scoreboarding (for a receiver that wants to add extra > error > checking) during in-order delivery easier but that doesn't seem to be a > strong enough reason for a SHOULD especially since the receiver would > have > to deal with cases where the transmitter wasn't following the SHOULD. More it importantly, it MAY deal with out-of-order delivery. You could even argue that it SHOULD NOT insist of processing segments in order if doing so increases the utilization of host memory (that is, processing in order SHOULD only be done if the re-ordering is done without extra usage of host memory). If you scan the archives you'll find a prolonged discussion on this point. I believe the alleged justification was essentially that it would optimize handling of complex scatter-gather-lists. That never struck me as a valid argument, and further making it a SHOULD negated any benefit that there might have been and only acted to discourage known valid optimizations. A "SHOULD" that has *common* valid reasons for being overridden is essentially a "nop". My opinion remains that the "SHOULD" clause ought to be removed, but it really doesn't have any negative impact. > > On overlapping - as long as the overlapped data is the same in both > segments, > placement order of overlapping segments doesn't matter. Message > content had > better not be changing while the message is being transmitted anyway > because > that could cause problems even if there was no overlapping. I can't > see where > overlapping gains anything and it is wasteful of bandwidth so I don't > have > much problem with a SHOULD NOT or MUST NOT, but I don't see much > benefit to > them either. > Agreed. The key here is that segmentation of untagged messages is not supposed to be under ULP control, and there is absolutely no way to justify a bandwidth-wasting algorithm at the DDP layer. From the point of view of the receiver, I agree that they are completely unworthy of run-time testing no matter how close to zero the cost is. -- Caitlin Bestler - [email protected] - http://asomi.com/