]> git.michaelhowe.org Git - packages/o/openafs.git/commit
rx: Exit fast restart on non-duplicate ACK
authorSimon Wilkinson <sxw@your-file-system.com>
Sat, 18 Jun 2011 14:50:08 +0000 (15:50 +0100)
committerDerrick Brashear <shadow@dementia.org>
Sat, 9 Jul 2011 05:06:47 +0000 (22:06 -0700)
commit45b4d17f7b38031afbb434c08ed46e4a26df9ba0
treeb785d2a59c95e7abbf9fc9677e3e355363219755
parent4a4dab852e67c6a9bc720f5d5a5ecb815a70ca83
rx: Exit fast restart on non-duplicate ACK

The current code only exits fast restart when we receive an ACK
packet that contains no missing chunks at all. On a network that is
dropping a reasonable chunk of its packets, this means that we spend
most of the call in fast recovery. (I originally found this by running
with the intentionally drop packets feature set to 10%)

TCP's fast retransmit behaviour is that we stay in fast recovery until
we receive our first non-duplicate acknowledgement. In TCP that means an
acknowledgement that moves the window. In RX, it is an acknowledgment
that ACKs a new packet.

Reviewed-on: http://gerrit.openafs.org/4869
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 6b833f575743d4a826750bb6913cd53232a8867f)

Change-Id: I51b4de1146df032ff6e1273d8c832bded770e177
Reviewed-on: http://gerrit.openafs.org/4941
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
src/rx/rx.c