OpenAFS Master Repository branch, master, updated. BP--openafs-stable-1_6_x-1301-g6993306

Gerrit Code Review gerrit@openafs.org
Mon, 20 Jun 2011 09:24:30 -0700 (PDT)


The following commit has been merged in the master branch:
commit 699330682f3cb001bf1bfbeaffd806600ccf69e8
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Jun 17 19:38:29 2011 +0100

    rx: Account for delayed ACKS when computing RTO
    
    RX currently only soft ACKs every second packet, therefore a soft ACK
    may be delayed by a period of time (currently 100ms, although RX did
    expose this as a public variable in earlier versions).
    
    RTT values are computed using only non-delayed ACKs, so the timeout
    is a smoothed average of the exact time taken to send and directly
    ACK a packet. Therefore, if the peer ends up using a delayed ACK for
    the packet, using just the RTT will cause that packet to be timed out.
    
    A while ago, this was dealt with by padding the calculated RTT with an
    additional 350ms. This was then removed, and changed to a 350ms minimum
    value. When this caused large numbers of spurious resends, the padding
    was restored, but with a 20ms default value. As noted above, 20ms is
    too low, as we may wait for up to 100ms before sending an ACK.
    
    This patch changes minPeerTimeout so that it does what it says on
    the tin - sets a minimum value below which the peer timout may not
    fall. It then adds to either this value, or the calculated one, 200ms
    of padding. This makes our padding identical to TCPs, and allows some
    future leway as to the softAckDelay value.
    
    Change-Id: I48ab28e03bb7c0a49fe21c21f83adbb02b7665f2
    Reviewed-on: http://gerrit.openafs.org/4859
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

 src/rx/rx.c |   15 ++++++++++-----
 1 files changed, 10 insertions(+), 5 deletions(-)

-- 
OpenAFS Master Repository