commit 4444f5f4ed968f08d26735a2531f03a6c4369226 parent 08c3ee8eca4bf60f3218daeb65acf97da554e80f Author: Mike Perry <mikeperry-git@torproject.org> Date: Sun, 31 Jul 2022 15:09:35 +0000 Use EWMA instead of bare rtt for min rtt. This allows us to average out minimums due to lulls in activity a bit more. Diffstat:
| M | src/core/or/congestion_control_common.c | | | 6 | ++++-- |
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/core/or/congestion_control_common.c b/src/core/or/congestion_control_common.c @@ -857,8 +857,10 @@ congestion_control_update_circuit_rtt(congestion_control_t *cc, cc->max_rtt_usec = rtt; } - if (cc->min_rtt_usec == 0 || rtt < cc->min_rtt_usec) { - cc->min_rtt_usec = rtt; + if (cc->min_rtt_usec == 0 || cc->ewma_rtt_usec < cc->min_rtt_usec) { + // Using the EWMA for min instead of current RTT helps average out + // effects from other conns + cc->min_rtt_usec = cc->ewma_rtt_usec; } return rtt;