From: Neal Cardwell <ncardw...@google.com> Date: Fri, 27 Jul 2018 17:19:12 -0400
> For some very small BDPs (with just a few packets) there was a > quantization effect where the target number of packets in flight > during the super-unity-gain (1.25x) phase of gain cycling was > implicitly truncated to a number of packets no larger than the normal > unity-gain (1.0x) phase of gain cycling. This meant that in multi-flow > scenarios some flows could get stuck with a lower bandwidth, because > they did not push enough packets inflight to discover that there was > more bandwidth available. This was really only an issue in multi-flow > LAN scenarios, where RTTs and BDPs are low enough for this to be an > issue. > > This fix ensures that gain cycling can raise inflight for small BDPs > by ensuring that in PROBE_BW mode target inflight values with a > super-unity gain are always greater than inflight values with a gain > <= 1. Importantly, this applies whether the inflight value is > calculated for use as a cwnd value, or as a target inflight value for > the end of the super-unity phase in bbr_is_next_cycle_phase() (both > need to be bigger to ensure we can probe with more packets in flight > reliably). > > This is a candidate fix for stable releases. > > Fixes: 0f8782ea1497 ("tcp_bbr: add BBR congestion control") > Signed-off-by: Neal Cardwell <ncardw...@google.com> > Acked-by: Yuchung Cheng <ych...@google.com> > Acked-by: Soheil Hassas Yeganeh <soh...@google.com> > Acked-by: Priyaranjan Jha <priyar...@google.com> > Reviewed-by: Eric Dumazet <eduma...@google.com> Applied and queued up for -stable, thank you.