From 20048d0a12b1080f688ff9b82696134df1aa3607 Mon Sep 17 00:00:00 2001 From: Stefan Hajnoczi Date: Wed, 27 Feb 2013 15:05:47 +0100 Subject: net: use socket_set_nodelay() for -netdev socket 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(+) (limited to 'net') diff --git a/net/socket.c b/net/socket.c index d8b35a23cb..b0c83e022c 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 { -- cgit v1.2.3