Summary: | TCP Cubic code bug in cubic_ack_received | ||
---|---|---|---|
Product: | Base System | Reporter: | Vidhi Goel <Goel.vidhi07> |
Component: | kern | Assignee: | Richard Scheffenegger <rscheff> |
Status: | Closed FIXED | ||
Severity: | Affects Many People | CC: | net, rgrimes, rscheff |
Priority: | --- | Flags: | koobs:
mfc-stable12+
|
Version: | CURRENT | ||
Hardware: | Any | ||
OS: | Any |
Description
Vidhi Goel
2019-06-10 22:21:09 UTC
Yes, this is the correct way to file a code audit issue. Thanks. Since having fixed numerous cubic related bugs, looking further into this. Currently working to validate the fix in D24657 Actually, concave and convex regions are defined with respect to the previous cwnd (max_cwnd in the code), not the currently used cwnd. The conditional in that space is there to prevent cwnd from shrinking, should it have outgrown the currently calculated w_cubic_next value (e.g. during slow-start). So, after a close inspection, showing the cwnd to follow both convex and concave trajectories properly, I believe the current code is correct. As there are some style issues, and the comment could be expanded around this, will commit a patch against this PR nevertheless. A commit references this bug: Author: rscheff Date: Tue Jul 21 16:21:53 UTC 2020 New revision: 363397 URL: https://svnweb.freebsd.org/changeset/base/363397 Log: Fix style and comment around concave/convex regions in TCP cubic. In cubic, the concave region is when snd_cwnd starts growing slower towards max_cwnd (cwnd at the time of the congestion event), and the convex region is when snd_cwnd starts to grow faster and eventually appearing like slow-start like growth. PR: 238478 Reviewed by: tuexen (mentor), rgrimes (mentor) Approved by: tuexen (mentor), rgrimes (mentor) MFC after: 2 weeks Sponsored by: NetApp, Inc. Differential Revision: https://reviews.freebsd.org/D24657 Changes: head/sys/netinet/cc/cc_cubic.c A commit references this bug: Author: rscheff Date: Wed Aug 19 10:40:03 UTC 2020 New revision: 364378 URL: https://svnweb.freebsd.org/changeset/base/364378 Log: MFC r363397: Fix style and comment around concave/convex regions in TCP cubic. In cubic, the concave region is when snd_cwnd starts growing slower towards max_cwnd (cwnd at the time of the congestion event), and the convex region is when snd_cwnd starts to grow faster and eventually appearing like slow-start like growth. PR: 238478 Reviewed by: tuexen (mentor), rgrimes (mentor) Sponsored by: NetApp, Inc. Differential Revision: https://reviews.freebsd.org/D24657 Changes: _U stable/12/ stable/12/sys/netinet/cc/cc_cubic.c |