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; } }