Skip site navigation (1)Skip section navigation (2)
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>