From owner-freebsd-current@FreeBSD.ORG Tue Sep 14 16:05:12 2010 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6DD0E106566C for ; Tue, 14 Sep 2010 16:05:12 +0000 (UTC) (envelope-from oppermann@networx.ch) Received: from c00l3r.networx.ch (c00l3r.networx.ch [62.48.2.2]) by mx1.freebsd.org (Postfix) with ESMTP id D2B6D8FC17 for ; Tue, 14 Sep 2010 16:05:11 +0000 (UTC) Received: (qmail 62703 invoked from network); 14 Sep 2010 16:00:09 -0000 Received: from localhost (HELO [127.0.0.1]) ([127.0.0.1]) (envelope-sender ) by c00l3r.networx.ch (qmail-ldap-1.03) with SMTP for ; 14 Sep 2010 16:00:09 -0000 Message-ID: <4C8F9D38.9020100@networx.ch> Date: Tue, 14 Sep 2010 18:05:12 +0200 From: Andre Oppermann User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.8) Gecko/20100802 Thunderbird/3.1.2 MIME-Version: 1.0 To: Ian FREISLICH References: <4C8E0C1E.2020707@networx.ch> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Mailman-Approved-At: Tue, 14 Sep 2010 16:37:44 +0000 Cc: freebsd-net@freebsd.org, freebsd-current@freebsd.org, Fabien Thomas Subject: Re: TCP loopback socket fusing X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Sep 2010 16:05:12 -0000 On 14.09.2010 12:12, Ian FREISLICH wrote: > 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. Good point. You can't at the moment but it certainly makes a lot of sense. Let me see what I can come up with. -- Andre