Roland Dreier wrote:

    Sean> * For the total transaction timeout, the equation given to
    Sean> calculate the value would probably require 1000+ lines of
    Sean> code, and the default value given is 40 seconds, which seems
    Sean> long.  Any opinions on what approach to take here?  I can
    Sean> either go with a total reassembly timeout value, or a
    Sean> timeout relative to the last received segment.  I'm leaning
    Sean> towards whichever ends up being easier to implement.

I'd be somewhat scared to tinker with the timeout calculations without
doing some heavy-duty research into how the modified version interacts
with a spec-compliant implementation.  Experience with TCP shows that
protocol behavior in the face of packet loss can be complex and
unpredictable and that minor changes in the protocol can lead to large
degradations in performance.

I would tend to agree, except that the IB spec gives this beauty of an equation for calculating total transaction timeout:


4.096 us x
8 x
ceiling(payload length/220) x
(2 ^ packet lifetime from sender to receiver +
 2 ^ packet lifetime from receiver to sender +
 2 ^ receiver response time value (ClassPortInfo:RespTimeValue or 20) +
 2 ^ sender response time value (ClassPortInfo:RespTimeValue or 20)

Getting from receiving the first segment of an RMPP MAD to this value is non-trivial, and doing so before the sender times out is even more difficult. Is there spec compliant implementation of this in existence? If so, I'd be interested in seeing it.

- Sean
_______________________________________________
openib-general mailing list
[email protected]
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to