OpenAFS Master Repository branch, master, updated. BP--openafs-stable-1_6_x-295-g290495f

Gerrit Code Review gerrit@openafs.org
Sat, 23 Oct 2010 12:54:16 -0700 (PDT)


The following commit has been merged in the master branch:
commit 290495fab1b2a8f1dc842cb2dd6de2d9922169c6
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Oct 23 14:51:56 2010 +0100

    rx: More improvments to RTT calculation
    
    Move the decision about whether a packet contributes to the peer's
    rount trip time into the CalculateRoundTripTime function, and improve
    the criteria used.
    
    Previously, we only computed the RTT if we had not retransmitted. This
    is bad, because it means that places where we have backed off in order
    to retransmit never actually lengthen the RTT, and so the RTT is kept
    artificially low, and we see a large number of retransmits. Instead,
    use the serial of the ACK packet to determine which transmission is
    being acknowledged, and if it is the first, or the last, transmission
    use the appropriate sent time to calculate the RTT.
    
    If we have no serial in the ACK (for a delayed ack, for example), or
    if the serial doesn't match (where a single acknowledgement is soft
    acking a number of packets), fall back to only using the ack if the
    packet has not be retransmitted.
    
    Also, avoid multiple counting of packets which have arrived as part
    of a jumbogram by only permitting the last packet in a jumbogram to
    contribute to the RTT. This avoids giving the RTT of jumbograms more
    weight than those of normal packets - doing so would pull down the
    RTT, as it in effect favours packets which have not be retransmitted.
    
    Change-Id: I6d978a118e2bd0694484376b586dd4eaa64cdd8c
    Reviewed-on: http://gerrit.openafs.org/3029
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

 src/rx/rx.c |   51 ++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 38 insertions(+), 13 deletions(-)

-- 
OpenAFS Master Repository