From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Gktie-0001VG-2p for qemu-devel@nongnu.org; Thu, 16 Nov 2006 21:44:44 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Gktia-0001Lb-24 for qemu-devel@nongnu.org; Thu, 16 Nov 2006 21:44:43 -0500 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1GktiZ-0001LP-VT for qemu-devel@nongnu.org; Thu, 16 Nov 2006 21:44:40 -0500 Received: from [199.232.41.67] (helo=mx20.gnu.org) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA:32) (Exim 4.52) id 1Gktia-0001c2-HA for qemu-devel@nongnu.org; Thu, 16 Nov 2006 21:44:40 -0500 Received: from [66.93.172.17] (helo=nevyn.them.org) by mx20.gnu.org with esmtp (Exim 4.52) id 1GktiY-00048e-CZ for qemu-devel@nongnu.org; Thu, 16 Nov 2006 21:44:38 -0500 Received: from drow by nevyn.them.org with local (Exim 4.54) id 1Gkti3-0001jF-BL for qemu-devel@nongnu.org; Thu, 16 Nov 2006 21:44:07 -0500 Date: Thu, 16 Nov 2006 21:44:07 -0500 From: Daniel Jacobowitz Subject: Re: [Qemu-devel] TCP_NODELAY for -redir Message-ID: <20061117024407.GA6559@nevyn.them.org> References: <20061113193027.GA2729@nevyn.them.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20061113193027.GA2729@nevyn.them.org> Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org On Mon, Nov 13, 2006 at 02:30:27PM -0500, Daniel Jacobowitz wrote: > I was trying to run GDB remote debug tests through a -redir socket > today. It crawled unbelievably. Paul guessed that slirp wasn't using > TCP_NODELAY, and Nagle was to blame. > > He was even righter than usual. Adding TCP_NODELAY speeds up this > particular workload by (very approximately) 54x. See trivial attached > patch. > > Is this going to bite other things, i.e. does it need to be > configurable? No comments on this... My reasoning, by the way, was that slirp is being used as a TCP-to-TCP gateway. I think that if we were to use nagle here, we'd end up doing it twice: once at the sender inside the guest, and once again on the host's TCP stack. Using TCP_NODELAY lets the guest take responsibility. -- Daniel Jacobowitz CodeSourcery