From: Florian Westphal <f...@strlen.de> Date: Thu, 17 Nov 2016 13:56:51 +0100
> The undo_cwnd fallback in the stack doubles cwnd based on ssthresh, > which un-does reno halving behaviour. > > It seems more appropriate to let congctl algorithms pair .ssthresh > and .undo_cwnd properly. Add a 'tcp_reno_undo_cwnd' function and wire it > up for all congestion algorithms that used to rely on the fallback. > > highspeed, illinois, scalable, veno and yeah use 'reno undo' while their > .ssthresh implementation doesn't halve the slowstart threshold, this > might point to similar issue as the one fixed for dctcp in > ce6dd23329b1e ("dctcp: avoid bogus doubling of cwnd after loss"). > > Cc: Eric Dumazet <eduma...@google.com> > Cc: Yuchung Cheng <ych...@google.com> > Cc: Neal Cardwell <ncardw...@google.com> > Signed-off-by: Florian Westphal <f...@strlen.de> If you really suspect that highspeed et al. need to implement their own undo_cwnd instead of using the default reno fallback, I would really rather that this gets either fixed or explicitly marked as likely wrong (in an "XXX" comment or similar). Otherwise nobody is going to remember this down the road.