From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:43801) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UK6To-000326-Oq for qemu-devel@nongnu.org; Mon, 25 Mar 2013 08:26:36 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UK6Tl-00047C-Kk for qemu-devel@nongnu.org; Mon, 25 Mar 2013 08:26:24 -0400 Received: from mx1.redhat.com ([209.132.183.28]:59834) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UK6Tl-000474-EG for qemu-devel@nongnu.org; Mon, 25 Mar 2013 08:26:21 -0400 From: Stefan Hajnoczi Date: Mon, 25 Mar 2013 13:26:07 +0100 Message-Id: <1364214373-2444-2-git-send-email-stefanha@redhat.com> In-Reply-To: <1364214373-2444-1-git-send-email-stefanha@redhat.com> References: <1364214373-2444-1-git-send-email-stefanha@redhat.com> Subject: [Qemu-devel] [PATCH 1/7] net: use socket_set_nodelay() for -netdev socket List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Anthony Liguori , Stefan Hajnoczi Reduce -netdev socket latency by disabling the Nagle algorithm on SOCK_STREAM sockets in net/socket.c. Since we are tunelling Ethernet over TCP we shouldn't artificially delay outgoing packets, let the guest decide packet scheduling. I already get sub-millisecond -netdev socket ping times on localhost, so there was no measurable difference in my testing. This won't hurt though and may improve remote socket performance. Signed-off-by: Stefan Hajnoczi Reviewed-by: Benoit Canet Reviewed-by: Daniel P. Berrange --- net/socket.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/net/socket.c b/net/socket.c index d8b35a2..b0c83e0 100644 --- a/net/socket.c +++ b/net/socket.c @@ -438,6 +438,9 @@ static NetSocketState *net_socket_fd_init_stream(NetClientState *peer, s->fd = fd; s->listen_fd = -1; + /* Disable Nagle algorithm on TCP sockets to reduce latency */ + socket_set_nodelay(fd); + if (is_connected) { net_socket_connect(s); } else { -- 1.8.1.4