Commit 1295e2cf authored by Yafang Shao's avatar Yafang Shao Committed by David S. Miller
Browse files

inet: minor optimization for backlog setting in listen(2)



Set the backlog earlier in inet_dccp_listen() and inet_listen(),
then we can avoid the redundant setting.

Signed-off-by: default avatarYafang Shao <laoar.shao@gmail.com>
Reviewed-by: default avatarEric Dumazet <edumazet@google.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 7dad9937
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -948,6 +948,7 @@ int inet_dccp_listen(struct socket *sock, int backlog)
	if (!((1 << old_state) & (DCCPF_CLOSED | DCCPF_LISTEN)))
		goto out;

	sk->sk_max_ack_backlog = backlog;
	/* Really, if the socket is already in listen state
	 * we can only allow the backlog to be adjusted.
	 */
@@ -960,7 +961,6 @@ int inet_dccp_listen(struct socket *sock, int backlog)
		if (err)
			goto out;
	}
	sk->sk_max_ack_backlog = backlog;
	err = 0;

out:
+1 −1
Original line number Diff line number Diff line
@@ -208,6 +208,7 @@ int inet_listen(struct socket *sock, int backlog)
	if (!((1 << old_state) & (TCPF_CLOSE | TCPF_LISTEN)))
		goto out;

	sk->sk_max_ack_backlog = backlog;
	/* Really, if the socket is already in listen state
	 * we can only allow the backlog to be adjusted.
	 */
@@ -231,7 +232,6 @@ int inet_listen(struct socket *sock, int backlog)
			goto out;
		tcp_call_bpf(sk, BPF_SOCK_OPS_TCP_LISTEN_CB, 0, NULL);
	}
	sk->sk_max_ack_backlog = backlog;
	err = 0;

out:
+0 −1
Original line number Diff line number Diff line
@@ -881,7 +881,6 @@ int inet_csk_listen_start(struct sock *sk, int backlog)

	reqsk_queue_alloc(&icsk->icsk_accept_queue);

	sk->sk_max_ack_backlog = backlog;
	sk->sk_ack_backlog = 0;
	inet_csk_delack_init(sk);