]> git.baikalelectronics.ru Git - kernel.git/commit
tcp_bbr: fix quantization code to not raise cwnd if not probing bandwidth
authorKevin(Yudong) Yang <yyd@google.com>
Thu, 26 Sep 2019 14:30:05 +0000 (10:30 -0400)
committerDavid S. Miller <davem@davemloft.net>
Fri, 27 Sep 2019 18:37:50 +0000 (20:37 +0200)
commit654660076fbb7a50d71f9a3f6deceea85d425c3a
treec4f1c8c356afb67f007c8fccf97e4d159d804bd2
parent178827d31e1906fb2db3eff929660dd01b23f926
tcp_bbr: fix quantization code to not raise cwnd if not probing bandwidth

There was a bug in the previous logic that attempted to ensure gain cycling
gets inflight above BDP even for small BDPs. This code correctly raised and
lowered target inflight values during the gain cycle. And this code
correctly ensured that cwnd was raised when probing bandwidth. However, it
did not correspondingly ensure that cwnd was *not* raised in this way when
*not* probing for bandwidth. The result was that small-BDP flows that were
always cwnd-bound could go for many cycles with a fixed cwnd, and not probe
or yield bandwidth at all. This meant that multiple small-BDP flows could
fail to converge in their bandwidth allocations.

Fixes: 3c346b233c68 ("tcp_bbr: fix bw probing to raise in-flight data for very small BDPs")
Signed-off-by: Kevin(Yudong) Yang <yyd@google.com>
Acked-by: Neal Cardwell <ncardwell@google.com>
Acked-by: Yuchung Cheng <ycheng@google.com>
Acked-by: Soheil Hassas Yeganeh <soheil@google.com>
Acked-by: Priyaranjan Jha <priyarjha@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/tcp_bbr.c