Patch "tcp_bbr: introduce bbr_bw_to_pacing_rate() helper" has been added to the 4.9-stable tree
Subsystems (3)
This is a note to let you know that I've just added the patch titled
tcp_bbr: introduce bbr_bw_to_pacing_rate() helper
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-introduce-bbr_bw_to_pacing_rate-helper.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:22 -0400
Subject: tcp_bbr: introduce bbr_bw_to_pacing_rate() helper
From: Neal Cardwell <[email protected]>
[ Upstream commit f19fd62dafaf1ed6cf615dba655b82fa9df59074 ]
Introduce a helper to convert a BBR bandwidth and gain factor to a pacing rate in bytes per second. This is a pure refactor, but is needed for two following fixes.
--- net/ipv4/tcp_bbr.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-)
net/ipv4/tcp_bbr.c +11 -3
@@ -182,6 +182,16 @@ static u64 bbr_rate_bytes_per_sec(structreturn rate >>BW_SCALE ; } +/* Convert a BBR bw and gain factor to a pacing rate in bytes per second. */ +static u32 bbr_bw_to_pacing_rate (struct sock *sk,u32 bw,int gain) +{ +u64 rate = bw; + + rate =bbr_rate_bytes_per_sec (sk, rate, gain); + rate =min_t (u64, rate, sk->sk_max_pacing_rate); +return rate; +} +/* Pace using current bw estimate and a gain factor. In order to help drive the * network toward lower queues while maintaining high utilization and low * latency, the average pacing rate aims to be slightly (~1%) lower than the
@@ -191,10 +201,8 @@ static u64 bbr_rate_bytes_per_sec(struct*/ static void bbr_set_pacing_rate (struct sock *sk,u32 bw,int gain) { -u64 rate = bw; +u32 rate =bbr_bw_to_pacing_rate (sk, bw, gain); - rate =bbr_rate_bytes_per_sec (sk, rate, gain); - rate =min_t (u64, rate, sk->sk_max_pacing_rate);if (bbr_full_bw_reached (sk) || rate > sk->sk_pacing_rate) sk->sk_pacing_rate = rate; }
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