mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2025-04-19 11:47:57 +07:00
dlm: use TCP_NODELAY
Nagling doesn't help and can sometimes hurt dlm comms. Signed-off-by: David Teigland <teigland@redhat.com>
This commit is contained in:
parent
dcce240ead
commit
cb2d45da81
@ -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)
|
|||||||
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,
|
|||||||
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));
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user