From 60ca08943f21b21093476691daa84b296a954025 Mon Sep 17 00:00:00 2001 From: Joseph Beshay Date: Fri, 24 Jan 2025 23:13:26 -0800 Subject: [PATCH] Ensure we can probe all available bandwidth in one ProbeBW_UP Summary: When deciding whether its time to switch from ProbeBW_UP to down, the cwndBytes_ value is already limited by the inflightHi_. This improves the logic by waiting for a target inflight that is 1.25x the current measured BDP and making sure we've hit it (i.e. we've been recently cwndLimited). We will also exit ProbeBW_Up if the loss level crosses the threshold at any point. Reviewed By: mjoras Differential Revision: D68656316 fbshipit-source-id: c95c00e8e7b922dd22e07d58f8bda0ed6ee850b3 --- quic/congestion_control/Bbr2.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/quic/congestion_control/Bbr2.cpp b/quic/congestion_control/Bbr2.cpp index dd41f41ec..23ef0fb9a 100644 --- a/quic/congestion_control/Bbr2.cpp +++ b/quic/congestion_control/Bbr2.cpp @@ -610,7 +610,7 @@ bool Bbr2CongestionController::checkTimeToCruise() { bool Bbr2CongestionController::checkTimeToGoDown() { if (cwndLimitedInRound_ && inflightHi_.has_value() && - cwndBytes_ >= inflightHi_.value()) { + getTargetInflightWithGain(1.25) >= inflightHi_.value()) { resetFullBw(); fullBw_ = maxBwFilter_.GetBest(); } else if (fullBwNow_) {