OpenAFS Master Repository branch, master, updated. BP--openafs-stable-1_6_x-1302-gb659449

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


The following commit has been merged in the master branch:
commit b65944973a24e9365dc1ff118ded4c3a1e25f782
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Jun 17 20:35:59 2011 +0100

    rx: Remove incorrect backoff code
    
    The ACK packet handling routine contains code which causes the
    RTT to backoff if the selective ACK response indicates that there is
    a missing packet. The comment justifies this code as being in line
    with Phil Karn's work on TCP.
    
    However, the TCP behaviour is that we backoff when we enter resend. Both
    TCP and RX have difficulty computing RTTs for resent packets due to the
    ambiguous ACK problem. Whilst RX is slightly better than TCP in this
    regard, we can't always tell whether an ACK refers to the original, or
    resent packet, so resent packets are unable to contribute to the RTT.
    This means that if the RTT ends up too low for the connection, and we
    start resending every packet, the RTT will never grow to account for
    this, as we never feed it any packet samples.
    
    Karn's solution to this was to backoff (double) the RTT value when we
    resend a packet, and then to not drop it back down until we receive an
    ACK that we can count. This means that we will always get a new sample
    for the connection, and the RTT will grow again.
    
    The original author confirms that the current behaviour in RX is
    incorrect, so simply remove it with this patchset.
    
    Change-Id: I0f4af56601c43b72394d7903cacc3fc19bc9d046
    Reviewed-on: http://gerrit.openafs.org/4860
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

 src/rx/rx.c |   18 ------------------
 src/rx/rx.h |    1 -
 2 files changed, 0 insertions(+), 19 deletions(-)

-- 
OpenAFS Master Repository