Commit cb2d45da authored by David Teigland's avatar David Teigland

dlm: use TCP_NODELAY

Nagling doesn't help and can sometimes hurt dlm comms.
Signed-off-by: default avatarDavid Teigland <teigland@redhat.com>
parent dcce240e
...@@ -926,6 +926,7 @@ static void tcp_connect_to_sock(struct connection *con) ...@@ -926,6 +926,7 @@ static void tcp_connect_to_sock(struct connection *con)
struct sockaddr_storage saddr, src_addr; struct sockaddr_storage saddr, src_addr;
int addr_len; int addr_len;
struct socket *sock = NULL; struct socket *sock = NULL;
int one = 1;
if (con->nodeid == 0) { if (con->nodeid == 0) {
log_print("attempt to connect sock 0 foiled"); log_print("attempt to connect sock 0 foiled");
...@@ -971,6 +972,11 @@ static void tcp_connect_to_sock(struct connection *con) ...@@ -971,6 +972,11 @@ static void tcp_connect_to_sock(struct connection *con)
make_sockaddr(&saddr, dlm_config.ci_tcp_port, &addr_len); make_sockaddr(&saddr, dlm_config.ci_tcp_port, &addr_len);
log_print("connecting to %d", con->nodeid); log_print("connecting to %d", con->nodeid);
/* Turn off Nagle's algorithm */
kernel_setsockopt(sock, SOL_TCP, TCP_NODELAY, (char *)&one,
sizeof(one));
result = result =
sock->ops->connect(sock, (struct sockaddr *)&saddr, addr_len, sock->ops->connect(sock, (struct sockaddr *)&saddr, addr_len,
O_NONBLOCK); O_NONBLOCK);
...@@ -1022,6 +1028,10 @@ static struct socket *tcp_create_listen_sock(struct connection *con, ...@@ -1022,6 +1028,10 @@ static struct socket *tcp_create_listen_sock(struct connection *con,
goto create_out; goto create_out;
} }
/* Turn off Nagle's algorithm */
kernel_setsockopt(sock, SOL_TCP, TCP_NODELAY, (char *)&one,
sizeof(one));
result = kernel_setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, result = kernel_setsockopt(sock, SOL_SOCKET, SO_REUSEADDR,
(char *)&one, sizeof(one)); (char *)&one, sizeof(one));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment