summaryrefslogtreecommitdiff
path: root/net/ipv4/tcp_bbr.c
diff options
context:
space:
mode:
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>2018-08-09 12:12:52 +0200
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2018-08-09 12:12:52 +0200
commitd0ed4c60abfb9a4ab6cd416d1dea9df6266f8fc7 (patch)
tree8fd3af1a9e788333e85d2a51a4fc2a9858a9a95a /net/ipv4/tcp_bbr.c
parent72a361a5b91c77b33ab2533674fdcec4de3278d0 (diff)
parentaba941392aeef2d1bc064a1e4b09293473ef7b9b (diff)
Merge branch 'acpi-scan' to satisfy dependencies.
Diffstat (limited to 'net/ipv4/tcp_bbr.c')
-rw-r--r--net/ipv4/tcp_bbr.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/net/ipv4/tcp_bbr.c b/net/ipv4/tcp_bbr.c
index 58e2f479ffb4..4bfff3c87e8e 100644
--- a/net/ipv4/tcp_bbr.c
+++ b/net/ipv4/tcp_bbr.c
@@ -354,6 +354,10 @@ static u32 bbr_target_cwnd(struct sock *sk, u32 bw, int gain)
/* Reduce delayed ACKs by rounding up cwnd to the next even number. */
cwnd = (cwnd + 1) & ~1U;
+ /* Ensure gain cycling gets inflight above BDP even for small BDPs. */
+ if (bbr->mode == BBR_PROBE_BW && gain > BBR_UNIT)
+ cwnd += 2;
+
return cwnd;
}