nbd: set TCP_NODELAY
Disable the Nagle algorithm to reduce latency. Note this means we must
also use TCP_CORK when sending header followed by payload to avoid
fragmenting lots of little packets. The previous patch took care of
that.
Suggested-by: Nick Thomas <nick@bytemark.co.uk>
Tested-by: Nick Thomas <nick@bytemark.co.uk>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
diff --git a/block/nbd.c b/block/nbd.c
index 485bbf0..d9dc454 100644
--- a/block/nbd.c
+++ b/block/nbd.c
@@ -406,6 +406,9 @@
sock = unix_socket_outgoing(qemu_opt_get(s->socket_opts, "path"));
} else {
sock = tcp_socket_outgoing_opts(s->socket_opts);
+ if (sock >= 0) {
+ socket_set_nodelay(sock);
+ }
}
/* Failed to establish connection */