From 91b351e88bdb56bfdfc2f5f16f64bb7522796581 Mon Sep 17 00:00:00 2001 From: Simon Wilkinson Date: Sat, 18 Jun 2011 13:17:07 +0100 Subject: [PATCH] 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. Change-Id: I9f21138662b0918d6d2b885f0fb5ada7fa4c79ec Reviewed-on: http://gerrit.openafs.org/4868 Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman Tested-by: BuildBot --- src/rx/rx.c | 7 ------- 1 file changed, 7 deletions(-) diff --git a/src/rx/rx.c b/src/rx/rx.c index 1bad02d0a..917abcc32 100644 --- a/src/rx/rx.c +++ b/src/rx/rx.c @@ -6036,13 +6036,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) -- 2.39.5