On Thu, 31 Aug 2006 16:57:01 -0700 (PDT) David Miller <[EMAIL PROTECTED]> wrote:
> From: Alexey Kuznetsov <[EMAIL PROTECTED]> > Date: Fri, 1 Sep 2006 03:29:23 +0400 > > > > 2) a way to take delayed ACKs into account for cwnd growth > > > > This part is OK now, right? > > This part of ABC is not on by default, and was broken until last week > :-) > > Test in tcp_slow_start() used to be: > > tp->bytes_acked > 2*tp->mss_cache > > but now it is the correct: > > tp->bytes_acked >= 2*tp->mss_cache > > It allows to make two congestion window increases from one ACK, when > noticing delayed ACK. > > Non-ABC code did not do this, but could figure this kind of thing > out while scanning retransmit queue. > > > > 1) protection against ACK division > > > > But Linux never had this problem... Congestion window was increased > > only when a whole skb is ACKed, flag FLAG_DATA_ACKED. (TSO could > > break this, but should not). Otherwise, this ACK just advanced snd_una > > and nothing more. > > Ugh, I missed this. :-/ > > The TSO code is carefuly to only trim TSO skbs on proper boundaries, > and this ensures proper setting of FLAG_DATA_ACKED too. So no > problems here. > > > The only problem of kind "too-aggressive" with Linux was that we could > > develop large cwnd sending small segments, and then switch to sending > > mss-sized segments. It does not look scary, to be honest. :-) > > Agreed. > > > Linux had troubles with slow start even before ABC. Actually, > > some of applications can suffer of the same syndrome even if ABC disabled. > > With ABC it becomes TROUBLE, cwnd has no chances to develop at all. > > I've discussed that very issue here before, some time ago, with > John Heffner. It was in response to a user reporting a similar > problem. The problem is really at the receiver because we only > ACK every other full sized frame. I had the idea to ACK every 2 > frames, regardless of size, but that might have other problems. > > There is an assymetry between how we do congestion control on > sending (packet counting) and our ACK policy on receive (packet > sized based). > > > Probably, aspect 1 of ABC just should be disabled. And the first my > > suggestion looks working too. > > I'm ready to rip out ABC entirely, to be honest. Or at least > turn it off by default. Turn it off for 2.6.18, by default then evaluate more for 2.6.19 - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html