-
Notifications
You must be signed in to change notification settings - Fork 123
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix: Do CC reaction before largest_acked
#2117
base: main
Are you sure you want to change the base?
Conversation
Packets are only declared as lost relative to `largest_acked`. If we hit a PTO while we don't have a largest_acked yet, also do a congestion control reaction (because otherwise none would happen). Broken out of mozilla#1998
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #2117 +/- ##
==========================================
- Coverage 95.35% 95.31% -0.04%
==========================================
Files 112 112
Lines 36319 36336 +17
==========================================
+ Hits 34631 34635 +4
- Misses 1688 1701 +13 ☔ View full report in Codecov by Sentry. |
Failed Interop TestsQUIC Interop Runner, client vs. server neqo-latest as client
neqo-latest as server
All resultsSucceeded Interop TestsQUIC Interop Runner, client vs. server neqo-latest as client
neqo-latest as server
Unsupported Interop TestsQUIC Interop Runner, client vs. server neqo-latest as client
neqo-latest as server
|
Benchmark resultsPerformance differences relative to d6279bf. coalesce_acked_from_zero 1+1 entries: No change in performance detected.time: [99.438 ns 99.719 ns 100.01 ns] change: [-0.4364% +0.0395% +0.5615%] (p = 0.88 > 0.05) coalesce_acked_from_zero 3+1 entries: No change in performance detected.time: [117.26 ns 117.62 ns 118.00 ns] change: [-0.6458% -0.1973% +0.2207%] (p = 0.40 > 0.05) coalesce_acked_from_zero 10+1 entries: No change in performance detected.time: [116.81 ns 117.18 ns 117.64 ns] change: [-1.0289% -0.4360% +0.0725%] (p = 0.13 > 0.05) coalesce_acked_from_zero 1000+1 entries: No change in performance detected.time: [97.079 ns 97.264 ns 97.480 ns] change: [-0.6852% +0.4086% +1.6834%] (p = 0.52 > 0.05) RxStreamOrderer::inbound_frame(): Change within noise threshold.time: [110.71 ms 110.76 ms 110.81 ms] change: [-0.3997% -0.3321% -0.2675%] (p = 0.00 < 0.05) transfer/pacing-false/varying-seeds: No change in performance detected.time: [26.782 ms 27.891 ms 29.016 ms] change: [-6.4286% -0.8510% +5.6097%] (p = 0.79 > 0.05) transfer/pacing-true/varying-seeds: No change in performance detected.time: [34.845 ms 36.669 ms 38.548 ms] change: [-7.2368% -0.0108% +7.6072%] (p = 0.99 > 0.05) transfer/pacing-false/same-seed: No change in performance detected.time: [26.459 ms 27.238 ms 28.026 ms] change: [-0.6291% +3.6689% +8.2630%] (p = 0.10 > 0.05) transfer/pacing-true/same-seed: No change in performance detected.time: [39.796 ms 41.815 ms 43.918 ms] change: [-9.0481% -3.0255% +3.6467%] (p = 0.37 > 0.05) 1-conn/1-100mb-resp (aka. Download)/client: Change within noise threshold.time: [113.34 ms 113.74 ms 114.12 ms] thrpt: [876.29 MiB/s 879.19 MiB/s 882.30 MiB/s] change: time: [-1.0108% -0.5857% -0.1549%] (p = 0.01 < 0.05) thrpt: [+0.1551% +0.5892% +1.0211%] 1-conn/10_000-parallel-1b-resp (aka. RPS)/client: No change in performance detected.time: [314.44 ms 317.97 ms 321.44 ms] thrpt: [31.110 Kelem/s 31.450 Kelem/s 31.803 Kelem/s] change: time: [-1.9215% -0.2966% +1.2368%] (p = 0.71 > 0.05) thrpt: [-1.2217% +0.2974% +1.9591%] 1-conn/1-1b-resp (aka. HPS)/client: Change within noise threshold.time: [33.732 ms 33.952 ms 34.187 ms] thrpt: [29.251 elem/s 29.453 elem/s 29.646 elem/s] change: time: [-1.9084% -1.0144% -0.1813%] (p = 0.03 < 0.05) thrpt: [+0.1816% +1.0248% +1.9455%] Client/server transfer resultsTransfer of 33554432 bytes over loopback.
|
@martinthomson I'd appreciate a review, since the code I am touching is pretty complex. |
Packets are only declared as lost relative to
largest_acked
. If we hit a PTO while we don't have a largest_acked yet, also do a congestion control reaction (because otherwise none would happen).Broken out of #1998