Page MenuHomeFreeBSD

TCP Cubic: Recalculate cubic cwnd for every ack.

Authored by rscheff on Aug 13 2020, 8:17 PM.



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

rS FreeBSD src repository - subversion
Automatic diff as part of commit; lint not applicable.
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

This revision is now accepted and ready to land.Aug 13 2020, 8:21 PM added inline comments.
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
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.