git: b5ee7411bfab - stable/14 - tcp rack: fix sending
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 17 Apr 2024 14:15:30 UTC
The branch stable/14 has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=b5ee7411bfabaf85f226fdfc4f2d8e0515d66691 commit b5ee7411bfabaf85f226fdfc4f2d8e0515d66691 Author: Michael Tuexen <tuexen@FreeBSD.org> AuthorDate: 2024-04-05 15:47:03 +0000 Commit: Michael Tuexen <tuexen@FreeBSD.org> CommitDate: 2024-04-17 14:15:03 +0000 tcp rack: fix sending In rack_output(), idle is used as a boolean variable. So don't use it as an int and don't clear it afterwards. This avoids setting idle to false, when it is not intended. Reported by: olivier Reviewed by: rrs, rscheff Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D44610 (cherry picked from commit 7df0ef5f48e1c67b3f1df7c7964bfa59bc56f4e4) --- sys/netinet/tcp_stacks/rack.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/sys/netinet/tcp_stacks/rack.c b/sys/netinet/tcp_stacks/rack.c index fa3cd2f4f698..b05d19f5cbc2 100644 --- a/sys/netinet/tcp_stacks/rack.c +++ b/sys/netinet/tcp_stacks/rack.c @@ -19927,6 +19927,10 @@ rack_output(struct tcpcb *tp) #endif int32_t idle, sendalot; +<<<<<<< HEAD +======= + uint32_t tot_idle; +>>>>>>> 7df0ef5f48e1 (tcp rack: fix sending) int32_t sub_from_prr = 0; volatile int32_t sack_rxmit; struct rack_sendmap *rsm = NULL; @@ -20164,8 +20168,8 @@ rack_output(struct tcpcb *tp) if ((tp->snd_una == tp->snd_max) && rack->r_ctl.rc_went_idle_time && TSTMP_GT(cts, rack->r_ctl.rc_went_idle_time)) { - idle = cts - rack->r_ctl.rc_went_idle_time; - if (idle > rack_min_probertt_hold) { + tot_idle = (cts - rack->r_ctl.rc_went_idle_time); + if (tot_idle > rack_min_probertt_hold) { /* Count as a probe rtt */ if (rack->in_probe_rtt == 0) { rack->r_ctl.rc_lower_rtt_us_cts = cts; @@ -20176,7 +20180,6 @@ rack_output(struct tcpcb *tp) rack_exit_probertt(rack, cts); } } - idle = 0; } if (rack_use_fsb && (rack->r_ctl.fsb.tcp_ip_hdr) &&