Date: Thu, 24 Jan 2013 15:12:32 +0100 From: Andre Oppermann <oppermann@networx.ch> To: Lawrence Stewart <lstewart@freebsd.org> Cc: freebsd-net@freebsd.org, John Baldwin <jhb@freebsd.org> Subject: Re: Some questions about the new TCP congestion control code Message-ID: <51014150.50101@networx.ch> In-Reply-To: <51013702.8040707@freebsd.org> References: <201301141604.29864.jhb@freebsd.org> <50F5137F.1060207@freebsd.org> <201301151427.50932.jhb@freebsd.org> <51013702.8040707@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On 24.01.2013 14:28, Lawrence Stewart wrote: > On 01/16/13 06:27, John Baldwin wrote: >> One other thing I noticed which is may or may not be odd during this, is that >> if you have a connection with TCP_NODELAY enabled and you fill your cwnd and >> then you get an ACK back for an earlier small segment (less than MSS), TCP >> will not send out a "short" segment for the amount of window space released. >> Instead, it will wait until a full MSS of space is available before sending >> a packet. I'm not sure if that is the correct behavior with TCP_NODELAY or >> if we should send "short" segments in that case. > > We try fairly hard not to send runt segments irrespective of NODELAY, > but I would be happy to see that change. I'm not aware of any "correct > behaviour" we have to adhere to - I think it would be perfectly > reasonable to have a sysctl set the lowest number of bytes we'd be > willing to send a runt segment for and then key off TCP_NODELAY as to > whether we try hard to send an MSS worth or send as soon as we have the > min number of bytes worth of window available. This is classic silly window syndrome prevention applied to the CWND. Sending a small segment when the window opens just a bit isn't going to help much and mostly clogs the network. This is actually a side effect of ABC (appropriate byte counting) where not the ACK's are counted but the bytes ACK'ed. Disabling ABC will solve this problem. -- Andre
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?51014150.50101>