Page MenuHomeFreeBSD

Address unintended jump of calculated cwnd when leaving slowstart
ClosedPublic

Authored by rscheff on Jul 20 2020, 4:56 PM.
Tags
None
Referenced Files
Unknown Object (File)
Fri, Nov 15, 9:52 AM
Unknown Object (File)
Fri, Nov 8, 5:02 PM
Unknown Object (File)
Wed, Oct 30, 10:03 AM
Unknown Object (File)
Oct 8 2024, 9:44 AM
Unknown Object (File)
Oct 7 2024, 2:58 AM
Unknown Object (File)
Oct 1 2024, 5:39 PM
Unknown Object (File)
Sep 25 2024, 10:46 PM
Unknown Object (File)
Sep 13 2024, 4:51 AM
Subscribers

Details

Summary

D23655 addresses jumps of cubic cwnd due to outdated t_last_cong
data, but initializing K to zero introduced a different miscalculation,
where cwnd would suddenly jump to the recorded max_cwnd instead of
gradually increasing either using the tcp-friendly equation, or the
concave growth region.

Properly calculating K instead of resetting it to zero resolves this issue.

Diff Detail

Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 32443
Build 29920: arc lint + arc unit

Event Timeline

  • calc ticks_since_cong properly
This revision is now accepted and ready to land.Jul 20 2020, 10:39 PM
  • record going out from slowstart at the earliest possible moment
This revision now requires review to proceed.Jul 20 2020, 11:09 PM
This revision is now accepted and ready to land.Jul 20 2020, 11:11 PM
cc requested changes to this revision.Jul 30 2020, 2:36 PM

Tested with my results: https://github.com/ccui1000/freebsd-tcp/wiki/test-D25746

Other than the comment to complement, I have no issues about this change.

sys/netinet/cc/cc_cubic.c
140

Suggest complement the comment above this added condition.

This revision now requires changes to proceed.Jul 30 2020, 2:36 PM
  • update comment to correctly describe conditionals

Looks good. Thanks for picking this up.

This revision is now accepted and ready to land.Aug 7 2020, 1:58 PM