diff options
author | Richard Scheffenegger <rscheff@FreeBSD.org> | 2023-12-07 14:13:05 +0000 |
---|---|---|
committer | Richard Scheffenegger <rscheff@FreeBSD.org> | 2023-12-14 10:13:09 +0000 |
commit | 35707083c6fb47d28aea5e421ea99b3f0daea0a6 (patch) | |
tree | 4b340d66bfca901941a67185f5008cbaeccc5e01 | |
parent | cc77811bf02c4a32c5303fc9de1e4596bbbc94e1 (diff) | |
download | src-35707083c6fb47d28aea5e421ea99b3f0daea0a6.tar.gz src-35707083c6fb47d28aea5e421ea99b3f0daea0a6.zip |
tcp: shift PRR sending cadence slightly left
Don't let PRR pass up on the opportunity of clocking
out packets on arrival of ACKs - by pulling sends
forward by about half a packet. Prevents unexpectedly
long runs of incoming ACKs without eliciting a
packet transmission.
MFC after: 1 week
Reviewed By: #transport, tuexen
Sponsored by: NetApp, Inc.
Differential Revision: https://reviews.freebsd.org/D42918
(cherry picked from commit 9276ad23b872eddc42e05304acb10bf5421b043c)
-rw-r--r-- | sys/netinet/tcp_input.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/netinet/tcp_input.c b/sys/netinet/tcp_input.c index 11ec7d2d74d2..15b7311f4605 100644 --- a/sys/netinet/tcp_input.c +++ b/sys/netinet/tcp_input.c @@ -3972,7 +3972,7 @@ tcp_do_prr_ack(struct tcpcb *tp, struct tcphdr *th, struct tcpopt *to) imax(1, tp->snd_nxt - tp->snd_una); snd_cnt = howmany((long)tp->sackhint.prr_delivered * tp->snd_ssthresh, tp->sackhint.recover_fs) - - tp->sackhint.prr_out; + tp->sackhint.prr_out + maxseg - 1; } else { if (V_tcp_do_prr_conservative || (del_data == 0)) limit = tp->sackhint.prr_delivered - |