]> git.michaelhowe.org Git - packages/o/openafs.git/commit
rx: Fix resend accounting
authorSimon Wilkinson <sxw@your-file-system.com>
Mon, 25 Oct 2010 08:16:09 +0000 (09:16 +0100)
committerDerrick Brashear <shadow@dementia.org>
Sat, 9 Jul 2011 05:04:38 +0000 (22:04 -0700)
commitaaec3e262bd05017e57ded42309e19e9c200967c
treee9bce020c35d84a77e17e233035ab5a8dbcc671f
parentef78554c5d07dd13b83be5d706483094e907b207
rx: Fix resend accounting

rxi_Start flagged itself as 'resending' whenever it flushed the
transmit queue due to a resend event. However, it would flush the
entire transmit queue at this point, rather than only transmitting
packets that require a resend. When running with large window sizes
this results an a large number of packets erroneously being marked
as resent.

Instead, let SendXmitList decide whether a packet is being
retransmitted by using the presence of a serial number. This takes
advantage of the fact that a retransmitted packet must be the only
entry in a packet list - we just flag the packet list, instead of
having to maintain counters for each individual packet.

(cherry picked from commit e84193ca2a9cef5a13403d291435eb5ad47f5b41)
Reviewed-on: http://gerrit.openafs.org/3135
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Change-Id: I1c8da9639b9739bf88a925b7af98c25b3eaeda8c
Reviewed-on: http://gerrit.openafs.org/4931
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
src/rx/rx.c