gfe-relnote: In QUIC, only decrease cwnd gain and pacing gain when cwnd increases or allow cwnd to decrease in initial cwnd experiment. Protected by gfe2_reloadable_flag_quic_gfe_selected_initial_cwnd_experiments and ENABLED quic_fix_bbr_cwnd_in_bandwidth_resumption.
Also adjust all three groups to be equal percentages (i.e., 1/3 of traffic).
PiperOrigin-RevId: 250350250
Change-Id: I381dd05eba71d9b90193b6c3c8127b0e8744cacf
diff --git a/quic/core/congestion_control/bbr_sender.cc b/quic/core/congestion_control/bbr_sender.cc
index 98b9145..5844987 100644
--- a/quic/core/congestion_control/bbr_sender.cc
+++ b/quic/core/congestion_control/bbr_sender.cc
@@ -360,10 +360,6 @@
std::max(kMinInitialCongestionWindow * kDefaultTCPMSS,
std::min(kMaxInitialCongestionWindow * kDefaultTCPMSS,
bandwidth * rtt_stats_->SmoothedOrInitialRtt()));
- // Decreases cwnd gain and pacing gain. Please note, if pacing_rate_ has
- // been calculated, it cannot decrease in STARTUP phase.
- set_high_gain(kDerivedHighCWNDGain);
- set_high_cwnd_gain(kDerivedHighCWNDGain);
if (new_cwnd > congestion_window_) {
QUIC_RELOADABLE_FLAG_COUNT_N(quic_fix_bbr_cwnd_in_bandwidth_resumption, 1,
3);
@@ -375,6 +371,10 @@
// Only decrease cwnd if allow_cwnd_to_decrease is true.
return;
}
+ // Decreases cwnd gain and pacing gain. Please note, if pacing_rate_ has
+ // been calculated, it cannot decrease in STARTUP phase.
+ set_high_gain(kDerivedHighCWNDGain);
+ set_high_cwnd_gain(kDerivedHighCWNDGain);
congestion_window_ = new_cwnd;
}
}