Discussion on r321480 "Let congestion control algorithms decide congestion window"
hiren at freebsd.org
Mon Jul 31 14:31:32 UTC 2017
On 07/27/17 at 03:29P, Kevin Bowling wrote:
> gnn has asked for details about "Let congestion control algorithms
> decide congestion window." in r321480 on this week's transport call.
> Hiren had intended to write a more detailed revert commit message but
> we unfortunately preempted him shortly before he was going to revert.
> Maybe if we ask nicely he will explain.
Here is the gist as I understand it:
Though still being correct, the change made stack send more aggressively
after loss under certain conditions mainly because of the way
tcp_output() is designed. There is no 'send only this much data' notion
in current tcp_output() which can help us use max capacity of the
connection without really sending too much to make things worse. So now
what we do instead is, go down to 1mss on any kind of loss which
provides us protection against such aggressiveness in loss-recovery
Upcoming changes from Randall/NF will probably fix this problem as pacer
itself can provide such functionality and help stack do the right thing.
I know this is not a problem is new BBR/Rack stack. And probably can be
fixed easily in base stack (with pacer and may be using PRR too).
Thanks to Lawrence for making me realize the problem with the change.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 603 bytes
Desc: not available
More information about the freebsd-transport