Re: [PATCH] tcp: avoid cwnd moderation in undo
From: Yuchung Cheng <hidden>
Date: 2011-03-14 19:10:45
On Mon, Mar 14, 2011 at 3:06 AM, Carsten Wolff [off-list ref] wrote:
The moderation is in place to avoid gigantic segment bursts, which could cause unnecessary pressure on buffers. In my eyes it's already suboptimal that the moderation is weakened in the presence of (detected) reordering, let alone removing it completely.
In the presence of reordering, cwnd is already moderated in Disorder state before entering the (false) recovery.
More importantly, the prior ssthresh is restored and not affected by moderation. This means, if moderation reduces cwnd to a small value, then cwnd < ssthresh and TCP will quickly slow-start back to the previous state, without sending a big burst of segments. Also, you intended to remove cwnd moderation only from an undo during recovery, but I think your patch also removes cwnd moderation when the undo is caused by D-SACK, i.e. most likely after recovery already ended.
Thanks. I will update my patch description. But the same principle applies that cwnd should not be moderated on false events. Whether it should be moderated on reordering or other events is another (complex) design issue. But this patch does not touch that. Yuchung