Skip to content
Commit ba4e1038 authored by David Howells's avatar David Howells Committed by Jakub Kicinski
Browse files

rxrpc: Fix congestion control algorithm



Make the following fixes to the congestion control algorithm:

 (1) Don't vary the cwnd starting value by the size of RXRPC_TX_SMSS since
     that's currently held constant - set to the size of a jumbo subpacket
     payload so that we can create jumbo packets on the fly.  The current
     code invariably picks 3 as the starting value.

     Further, the starting cwnd needs to be an even number because we ack
     every other packet, so set it to 4.

 (2) Don't cut ssthresh when we see an ACK come from the peer with a
     receive window (rwind) less than ssthresh.  ssthresh keeps track of
     characteristics of the connection whereas rwind may be reduced by the
     peer for any reason - and may be reduced to 0.

Fixes: 1fc4fa2a ("rxrpc: Fix congestion management")
Fixes: 08511150 ("rxrpc: Reduce ssthresh to peer's receive window")
Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
Suggested-by: default avatarSimon Wilkinson <sxw@auristor.com>
cc: Marc Dionne <marc.dionne@auristor.com>
cc: linux-afs@lists.infradead.org
Reviewed-by: default avatarJeffrey Altman &lt;jaltman@auristor.com <mailto:jaltman@auristor.com&gt;>
Link: https://lore.kernel.org/r/20240503150749.1001323-2-dhowells@redhat.com


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 9a169c26
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment