rxrpc: Cache the congestion window setting
Cache the congestion window setting that was determined during a call's transmission phase when it finishes so that it can be used by the next call to the same peer, thereby shortcutting the slow-start algorithm. The value is stored in the rxrpc_peer struct and is accessed without locking. Each call takes the value that happens to be there when it starts and just overwrites the value when it finishes. Signed-off-by: David Howells <dhowells@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
0430a26054
commit
f7aec129a3
@@ -228,6 +228,13 @@ struct rxrpc_peer *rxrpc_alloc_peer(struct rxrpc_local *local, gfp_t gfp)
|
||||
seqlock_init(&peer->service_conn_lock);
|
||||
spin_lock_init(&peer->lock);
|
||||
peer->debug_id = atomic_inc_return(&rxrpc_debug_id);
|
||||
|
||||
if (RXRPC_TX_SMSS > 2190)
|
||||
peer->cong_cwnd = 2;
|
||||
else if (RXRPC_TX_SMSS > 1095)
|
||||
peer->cong_cwnd = 3;
|
||||
else
|
||||
peer->cong_cwnd = 4;
|
||||
}
|
||||
|
||||
_leave(" = %p", peer);
|
||||
|
||||
Reference in New Issue
Block a user