Date: Tue, 17 Nov 1998 10:14:52 +1100 (EST) From: Andy Farkas <andyf@speednet.com.au> To: Marc Slemko <marcs@znep.com> Cc: Michael Robinson <robinson@public.bta.net.cn>, freebsd-stable@FreeBSD.ORG Subject: Re: writev() to tcp Message-ID: <Pine.BSF.4.05.9811171011370.18361-100000@backup.zippynet.iol.net.au> In-Reply-To: <Pine.BSF.4.05.9811160950230.12077-100000@alive.znep.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 16 Nov 1998, Marc Slemko wrote: > > I've noticed this very wierd thing: with a total writev buffer of 160 > > bytes, the tcp socket is sending the first 100 bytes (on a segment boundary), > > waiting for a tcp ack on the socket, and then sending the remaining 60 bytes. > > This doesn't really have anything to do with writev() in particular. There > is a bug in the TCP code where a packet bigger than a single mbuf (MLEN == > 108 bytes) but not big enough for a mbuf cluster (MINCLSIZE == 204 bytes) > ends up being put into two mbufs that end up being put on the wire in two > parts. There should be some messages about it in the archives. There are > various fixes, but none has been made yet. > > Disabling nagle can work around some of the bad interactions between nagle > and delayed ack in this case, but isn't a great solution in general. > There is mention of this problem in the Squid FAQ at http://squid.nlanr.net/Squid/FAQ/FAQ-14.html#ss14.2 It suggests two workarounds ... -- :{ andyf@speednet.com.au Andy Farkas System Administrator Speed Internet Services http://www.speednet.com.au/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.05.9811171011370.18361-100000>