summaryrefslogtreecommitdiffstats
path: root/net/rxrpc/output.c
diff options
context:
space:
mode:
authorDavid Howells <dhowells@redhat.com>2016-09-29 23:37:16 +0200
committerDavid Howells <dhowells@redhat.com>2016-09-29 23:57:47 +0200
commitb112a67081e4b06652ecde588bf1d5778fe43d75 (patch)
tree0b749c3709215d445cdffc7fd2cfd3743a204888 /net/rxrpc/output.c
parentrxrpc: Reduce the rxrpc_local::services list to a pointer (diff)
downloadlinux-b112a67081e4b06652ecde588bf1d5778fe43d75.tar.xz
linux-b112a67081e4b06652ecde588bf1d5778fe43d75.zip
rxrpc: Request more ACKs in slow-start mode
Set the request-ACK on more DATA packets whilst we're in slow start mode so that we get sufficient ACKs back to supply information to configure the window. Signed-off-by: David Howells <dhowells@redhat.com>
Diffstat (limited to 'net/rxrpc/output.c')
-rw-r--r--net/rxrpc/output.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/net/rxrpc/output.c b/net/rxrpc/output.c
index ac9a58b619a6..0d47db886f6e 100644
--- a/net/rxrpc/output.c
+++ b/net/rxrpc/output.c
@@ -284,6 +284,7 @@ int rxrpc_send_data_packet(struct rxrpc_call *call, struct sk_buff *skb,
* ACKs if a DATA packet appears to have been lost.
*/
if (retrans ||
+ call->cong_mode == RXRPC_CALL_SLOW_START ||
(call->peer->rtt_usage < 3 && sp->hdr.seq & 1) ||
ktime_before(ktime_add_ms(call->peer->rtt_last_req, 1000),
ktime_get_real()))