]> git.michaelhowe.org Git - packages/o/openafs.git/commit
rx: Fix starting of transmit timers
authorSimon Wilkinson <sxw@your-file-system.com>
Mon, 25 Oct 2010 19:50:29 +0000 (20:50 +0100)
committerDerrick Brashear <shadow@dementia.org>
Wed, 27 Oct 2010 00:26:52 +0000 (17:26 -0700)
commitdab406baf28c19710b4a451ae2516dfa1ebeee29
tree1abdd0673d32e7a6202b7a00da09905d43ac708c
parent712f43ebda08d2fe10e3f026f89085f1cb6a29ab
rx: Fix starting of transmit timers

The code used to start the transmit timer once for every set of packets
that it sends. However, these packets might be sent individually or in
clumps, with blocking for sendmsg, and on peer->lock, between each set
of packet sends. This has the effect of, even on a very stable network,
producing a high degree of variation in RTTs and timeouts. This is a
particular issue where the connection size is larger, as the number of
packets being sent individually under the one timer grows too.

Fix this by moving timer initialisation to SendList. This already takes
the peer lock, so obtain the timeout value here too. This means that
each jumbo gram, or individual packet (where jumbograms are disabled)
is sent with its own start time, and stabilises RTTs.

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