Date: Tue, 14 Sep 2010 12:12:03 +0200 From: Ian FREISLICH <ianf@clue.co.za> To: Fabien Thomas <fabien.thomas@netasq.com> Cc: freebsd-net@freebsd.org, freebsd-current@freebsd.org Subject: Re: TCP loopback socket fusing Message-ID: <E1OvSUd-0000mU-0l@clue.co.za> In-Reply-To: <A9862681-6A4D-43A3-9A26-C71A54CF86F0@netasq.com> References: <A9862681-6A4D-43A3-9A26-C71A54CF86F0@netasq.com> <4C8E0C1E.2020707@networx.ch>
next in thread | previous in thread | raw e-mail | index | archive | help
Fabien Thomas wrote: > Great, > > This will maybe kill the long time debate about "my loopback is slow vs > linux" > To have the best of both world what about a socket option to > enable/disable fusing: > can be useful when you need to see some connection "packetized". To chime in, I had a "slow" loopback issue earlier this week. It turned out the problem was caused by delayed ack on the loopback where the client didn't need to transmit any data to the server. It delayed each packet from the server by 100ms. After patching the server to: setsockopt(desc->accept_fd, IPPROTO_TCP, TCP_NODELAY, &x, sizeof(x)); It's now faster than on linux. Perhaps this is one of the causes of "my loopback is slow vs linux". FWIW, I couldn't find a way to turn off dealyed_ack on just loopback interface. Ian -- Ian Freislich
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?E1OvSUd-0000mU-0l>