OpenAFS Master Repository branch, openafs-stable-1_6_x, updated. openafs-stable-1_6_0pre6-38-g99e38c5

Gerrit Code Review gerrit@openafs.org
Fri, 8 Jul 2011 22:06:29 -0700 (PDT)


The following commit has been merged in the openafs-stable-1_6_x branch:
commit 1adddaf9643a3572de22e73e95f2a6c29b4636d5
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Jun 18 11:58:57 2011 +0100

    rx: Add Karn-style backoffs to RX retransmits
    
    When we retransmit a packet, we may be doing so because the RTT of the
    connection has grown dramatically larger than earlier within the call.
    However, RX doesn't permit all ACKs to retransmitted packets to be
    counted within the RTT calculation.
    
    So, adopt the same approach as Karn developed for TCP, and as described
    in detail in RFC2988. When a retransmit event occurs, backoff the
    connection RTT by doubling its value, and hold at this doubled value
    until either another retransmit occurs (in which case we back off again,
    up to a predetermined ceiling), or we receive an ACK packet which we
    can use within the RTT calculation, in which case we drop back down to
    the newly measured value.
    
    This change replaces the per-packet backoff strategy originally
    implemented in RX (which, whilst allowing resent packets more chance of
    arriving, doesn't help with computing a correct RTT).
    
    Reviewed-on: http://gerrit.openafs.org/4865
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 0118fb5387e656e515d78d48497a48f1e04a1152)
    
    Change-Id: I697eac14f9b4be5c8726f0386e516cb49995f665
    Reviewed-on: http://gerrit.openafs.org/4937
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

 src/rx/rx.c |   11 +++++++++++
 1 files changed, 11 insertions(+), 0 deletions(-)

-- 
OpenAFS Master Repository