From: Simon Wilkinson Date: Sat, 18 Jun 2011 12:17:07 +0000 (+0100) Subject: rx: Don't limit the # of packets sent in recovery X-Git-Tag: upstream/1.6.0.pre7^2~30 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=4a4dab852e67c6a9bc720f5d5a5ecb815a70ca83;p=packages%2Fo%2Fopenafs.git rx: Don't limit the # of packets sent in recovery The RX transmit engine limits the number of packets sent whilst in loss recovery to one per invocation of the transmit engine. As the engine cannot be called by the application thread whilst in recovery, this means that we end up being limited to one packet per ACK received, which means that despite a growing congestion window we'll only send one packet per RTT (in effect, a congenstion window of 1). This will remain the case until we exit recovery, and all of a sudden can send a large number of packets. If this is larger than the current capacity of the network, we'll probably end straight back in recovery again. Let the congestion window do its job, by removing this arbitrary limit. Reviewed-on: http://gerrit.openafs.org/4868 Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman Tested-by: BuildBot (cherry picked from commit 91b351e88bdb56bfdfc2f5f16f64bb7522796581) Change-Id: I673980bdee6d1316cb363f12d32c96fb2577cb27 Reviewed-on: http://gerrit.openafs.org/4940 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear --- diff --git a/src/rx/rx.c b/src/rx/rx.c index fc7e3ce71..66e86b171 100644 --- a/src/rx/rx.c +++ b/src/rx/rx.c @@ -6071,13 +6071,6 @@ rxi_Start(struct rx_call *call, int istack) nXmitPackets = 0; maxXmitPackets = MIN(call->twind, call->cwind); for (queue_Scan(&call->tq, p, nxp, rx_packet)) { - if ((nXmitPackets) - && (call->flags & RX_CALL_FAST_RECOVER)) { - /* Only send one packet during fast recovery */ - dpf(("call %d restricted to one packet per send during fast recovery\n", - *(call->callNumber))); - break; - } #ifdef RX_TRACK_PACKETS if ((p->flags & RX_PKTFLAG_FREE) || (!queue_IsEnd(&call->tq, nxp)