aboutsummaryrefslogtreecommitdiffstats
path: root/net/lapb/lapb_in.c
diff options
context:
space:
mode:
authorDavid Howells <dhowells@redhat.com>2024-12-04 07:46:57 +0000
committerJakub Kicinski <kuba@kernel.org>2024-12-09 13:48:30 -0800
commit5c0ceba23bb47085d6c9c53bff08a29634ee4e7e (patch)
treee0c6028976e4ba3a1140fe9648e6967dac74c8cc /net/lapb/lapb_in.c
parentrxrpc: Display userStatus in rxrpc_rx_ack trace (diff)
downloadlinux-5c0ceba23bb47085d6c9c53bff08a29634ee4e7e.tar.gz
linux-5c0ceba23bb47085d6c9c53bff08a29634ee4e7e.zip
rxrpc: Fix the calculation and use of RTO
Make the following changes to the calculation and use of RTO: (1) Fix rxrpc_resend() to use the backed-off RTO value obtained by calling rxrpc_get_rto_backoff() rather than extracting the value itself. Without this, it may retransmit packets too early. (2) The RTO value being similar to the RTT causes a lot of extraneous resends because the RTT doesn't end up taking account of clearing out of the receive queue on the server. Worse, responses to PING-ACKs are made as fast as possible and so are less than the DATA-requested-ACK RTT and so skew the RTT down. Fix this by putting a lower bound on the RTO by adding 100ms to it and limiting the lower end to 200ms. Fixes: c410bf01933e ("rxrpc: Fix the excessive initial retransmission timeout") Fixes: 37473e416234 ("rxrpc: Clean up the resend algorithm") Signed-off-by: David Howells <dhowells@redhat.com> Suggested-by: Simon Wilkinson <sxw@auristor.com> cc: Marc Dionne <marc.dionne@auristor.com> cc: linux-afs@lists.infradead.org Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'net/lapb/lapb_in.c')
0 files changed, 0 insertions, 0 deletions