Page MenuHomeFreeBSD

TCP Cubic: Recalculate cubic cwnd for every ack.
ClosedPublic

Authored by rscheff on Aug 13 2020, 8:17 PM.
Tags
None
Referenced Files
Unknown Object (File)
Tue, Nov 12, 5:10 PM
Unknown Object (File)
Oct 18 2024, 9:13 PM
Unknown Object (File)
Oct 18 2024, 7:08 PM
Unknown Object (File)
Oct 6 2024, 7:38 AM
Unknown Object (File)
Oct 1 2024, 4:15 AM
Unknown Object (File)
Sep 28 2024, 3:30 PM
Unknown Object (File)
Sep 25 2024, 10:57 PM
Unknown Object (File)
Sep 24 2024, 6:05 PM
Subscribers

Details

Summary

Since cubic calculates cwnd based on absolute
time, retaining RFC3465 (ABC) once-per-window updates
can lead to dramatic changes of cwnd in the convex
region. Updating cwnd for each incoming ack minimizes
this delta, preventing unintentional line-rate bursts.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

This revision is now accepted and ready to land.Aug 13 2020, 8:21 PM
cc requested changes to this revision.Aug 14 2020, 1:49 PM
cc added inline comments.
sys/netinet/cc/cc_cubic.c
135–137 ↗(On Diff #75800)

Shall have the comment updated accordingly.

This revision now requires changes to proceed.Aug 14 2020, 1:49 PM
  • always use absolute cubic_cwnd value
  • update cubic cwnd comment to reflect new logic
sys/netinet/cc/cc_cubic.c
135–137 ↗(On Diff #75958)

The SUMMARY part of this change already says this.

Can we remove this sentence "During the convex region of the cubic curve, cwnd steps can otherwise become very large and cause dramatic line-rate bursts." ?

  • straighten comment further

Looks good. Thanks for picking this up.

This revision is now accepted and ready to land.Aug 18 2020, 7:05 PM
This revision was automatically updated to reflect the committed changes.