OpenAFS Master Repository branch, openafs-stable-1_6_x, updated. openafs-stable-1_6_0pre6-19-gd5d9e67
Gerrit Code Review
gerrit@openafs.org
Thu, 7 Jul 2011 05:29:58 -0700 (PDT)
The following commit has been merged in the openafs-stable-1_6_x branch:
commit d5d9e67a9f6c9d3cc13ebca1829f6c348f26cfd5
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.
Reviewed-on: http://gerrit.openafs.org/4859
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
(cherry picked from commit 699330682f3cb001bf1bfbeaffd806600ccf69e8)
Change-Id: Ibe06f46c9ac846fb0381c467242e5c3b439c8907
Reviewed-on: http://gerrit.openafs.org/4910
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
src/rx/rx.c | 15 ++++++++++-----
1 files changed, 10 insertions(+), 5 deletions(-)
--
OpenAFS Master Repository