HomeFreeBSD

So it turns out with the right window scaling you can get the code in all…

Description

So it turns out with the right window scaling you can get the code in all stacks to
always want to do a window update, even when no data can be sent. Now in
cases where you are not pacing thats probably ok, you just send an extra
window update or two. However with bbr (and rack if its paced) every time
the pacer goes off its going to send a "window update".

Also in testing bbr I have found that if we are not responding to
data right away we end up staying in startup but incorrectly holding
a pacing gain of 192 (a loss). This is because the idle window code
does not restict itself to only work with PROBE_BW. In all other
states you dont want it doing a PROBE_BW state change.

Sponsored by: Netflix Inc.
Differential Revision: https://reviews.freebsd.org/D25247

Details

Provenance
rrsAuthored on
Differential Revision
D25247: Incorrect rwnd needs update decision
Parents
rS362112: x86: Bump default msi/msix vector limit to 2048
Branches
Unknown
Tags
Unknown