-
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: Add confirmed
parameter to PTO calculation
#2127
base: main
Are you sure you want to change the base?
Conversation
Rather than having the caller determine for which space a PTO should be calculated for. Broken out of mozilla#1998 I'm ambivalent if we want this change - thoughts?
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #2127 +/- ##
=======================================
Coverage ? 95.35%
=======================================
Files ? 112
Lines ? 36344
Branches ? 0
=======================================
Hits ? 34657
Misses ? 1687
Partials ? 0 ☔ View full report in Codecov by Sentry. |
Benchmark resultsPerformance differences relative to d6279bf. coalesce_acked_from_zero 1+1 entries: No change in performance detected.time: [99.131 ns 99.389 ns 99.656 ns] change: [-0.6464% -0.1009% +0.4813%] (p = 0.75 > 0.05) coalesce_acked_from_zero 3+1 entries: No change in performance detected.time: [117.02 ns 117.38 ns 117.76 ns] change: [-0.7137% +0.0365% +1.0553%] (p = 0.94 > 0.05) coalesce_acked_from_zero 10+1 entries: No change in performance detected.time: [116.81 ns 117.36 ns 118.00 ns] change: [-0.9475% -0.2742% +0.3536%] (p = 0.43 > 0.05) coalesce_acked_from_zero 1000+1 entries: No change in performance detected.time: [97.394 ns 97.547 ns 97.714 ns] change: [-0.5211% +0.4304% +1.4109%] (p = 0.41 > 0.05) RxStreamOrderer::inbound_frame(): Change within noise threshold.time: [110.88 ms 110.92 ms 110.95 ms] change: [-0.2485% -0.1930% -0.1333%] (p = 0.00 < 0.05) transfer/pacing-false/varying-seeds: Change within noise threshold.time: [25.351 ms 26.393 ms 27.432 ms] change: [-11.686% -6.1750% -0.4850%] (p = 0.04 < 0.05) transfer/pacing-true/varying-seeds: No change in performance detected.time: [34.734 ms 36.221 ms 37.699 ms] change: [-7.3691% -1.2320% +5.5718%] (p = 0.72 > 0.05) transfer/pacing-false/same-seed: No change in performance detected.time: [25.291 ms 26.061 ms 26.834 ms] change: [-4.9918% -0.8113% +3.4423%] (p = 0.71 > 0.05) transfer/pacing-true/same-seed: No change in performance detected.time: [39.871 ms 41.999 ms 44.216 ms] change: [-9.1223% -2.5982% +4.2685%] (p = 0.45 > 0.05) 1-conn/1-100mb-resp (aka. Download)/client: Change within noise threshold.time: [115.27 ms 115.82 ms 116.37 ms] thrpt: [859.32 MiB/s 863.37 MiB/s 867.50 MiB/s] change: time: [+0.6663% +1.2356% +1.8143%] (p = 0.00 < 0.05) thrpt: [-1.7819% -1.2205% -0.6619%] 1-conn/10_000-parallel-1b-resp (aka. RPS)/client: No change in performance detected.time: [315.87 ms 319.52 ms 323.15 ms] thrpt: [30.946 Kelem/s 31.297 Kelem/s 31.659 Kelem/s] change: time: [-1.3445% +0.1907% +1.7889%] (p = 0.82 > 0.05) thrpt: [-1.7575% -0.1903% +1.3628%] 1-conn/1-1b-resp (aka. HPS)/client: Change within noise threshold.time: [33.728 ms 33.939 ms 34.170 ms] thrpt: [29.266 elem/s 29.464 elem/s 29.649 elem/s] change: time: [-1.9671% -1.0531% -0.1525%] (p = 0.02 < 0.05) thrpt: [+0.1528% +1.0643% +2.0066%] Client/server transfer resultsTransfer of 33554432 bytes over loopback.
|
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
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Changes make sense to me. Only one question related to tests.
const TEST_RTT: Duration = ms(7000); | ||
const TEST_RTTVAR: Duration = ms(3500); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why these particular values? And why do they need to be that high?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
They came out of a discussion with @martinthomson at the Vancouver IETF
@martinthomson I'd appreciate a review, since the code I am touching is pretty complex. |
Rather than having the caller determine for which space a PTO should be calculated for.
Also arm PTOs in the application packet number space before the handshake is complete, so 0-RTT gets RTX'ed.
Broken out of #1998