Skip to contentSkip to conversation

Patch "tcp_bbr: remove sk_pacing_rate=0 transient during init" has been added to the 4.9-stable tree

PATCH [email protected] 1 participant 1 message Aug 8, 2017

Subsystems (3)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

This is a note to let you know that I've just added the patch titled

tcp_bbr: remove sk_pacing_rate=0 transient during init

to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
tcp_bbr-remove-sk_pacing_rate-0-transient-during-init.patch
and it can be found in the queue-4.9 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

Quoted 1 line

From foo@baz Tue Aug 8 16:27:53 PDT 2017

From: Neal Cardwell <[email protected]>
Date: Fri, 14 Jul 2017 17:49:24 -0400
Subject: tcp_bbr: remove sk_pacing_rate=0 transient during init

From: Neal Cardwell <[email protected]>

[ Upstream commit 1d3648eb5d1fe9ed3d095ed8fa19ad11ca4c8bc0 ]

Fix a corner case noticed by Eric Dumazet, where BBR's setting sk->sk_pacing_rate to 0 during initialization could theoretically cause packets in the sending host to hang if there were packets "in flight" in the pacing infrastructure at the time the BBR congestion control state is initialized. This could occur if the pacing infrastructure happened to race with bbr_init() in a way such that the pacer read the 0 rather than the immediately following non-zero pacing rate.

---
 net/ipv4/tcp_bbr.c |    1 -
 1 file changed, 1 deletion(-)
net/ipv4/tcp_bbr.c +0 -1
@@ -808,7 +808,6 @@ static void bbr_init(struct sock *sk)
 
 	minmax_reset(&bbr->bw, bbr->rtt_cnt, 0);  /* init max bw to 0 */
 
-	sk->sk_pacing_rate = 0;		/* force an update of sk_pacing_rate */
 	bbr_init_pacing_rate_from_rtt(sk);
 
 	bbr->restore_cwnd = 0;

Patches currently in stable-queue which might be from [email protected] are

queue-4.9/tcp_bbr-remove-sk_pacing_rate-0-transient-during-init.patch queue-4.9/tcp_bbr-introduce-bbr_bw_to_pacing_rate-helper.patch queue-4.9/tcp_bbr-introduce-bbr_init_pacing_rate_from_rtt-helper.patch queue-4.9/tcp_bbr-init-pacing-rate-on-first-rtt-sample.patch queue-4.9/tcp_bbr-cut-pacing-rate-only-if-filled-pipe.patch