Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cb2d45da authored by David Teigland's avatar David Teigland
Browse files

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
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -926,6 +926,7 @@ static void tcp_connect_to_sock(struct connection *con)
	struct sockaddr_storage saddr, src_addr;
	int addr_len;
	struct socket *sock = NULL;
	int one = 1;

	if (con->nodeid == 0) {
		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);

	log_print("connecting to %d", con->nodeid);

	/* Turn off Nagle's algorithm */
	kernel_setsockopt(sock, SOL_TCP, TCP_NODELAY, (char *)&one,
			  sizeof(one));

	result =
		sock->ops->connect(sock, (struct sockaddr *)&saddr, addr_len,
				   O_NONBLOCK);
@@ -1022,6 +1028,10 @@ static struct socket *tcp_create_listen_sock(struct connection *con,
		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,
				   (char *)&one, sizeof(one));