mirror of
https://github.com/torvalds/linux.git
synced 2024-11-14 16:12:02 +00:00
mptcp: cleanup writer wake-up
After commit 5cf92bbadc
("mptcp: re-enable sndbuf autotune"), the
MPTCP_NOSPACE bit is redundant: it is always set and cleared together with
SOCK_NOSPACE.
Let's drop the first and always relay on the latter, dropping a bunch
of useless code.
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Reviewed-by: Mat Martineau <martineau@kernel.org>
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
26b5df99bf
commit
037db6ea57
@ -1692,15 +1692,6 @@ out:
|
||||
}
|
||||
}
|
||||
|
||||
static void mptcp_set_nospace(struct sock *sk)
|
||||
{
|
||||
/* enable autotune */
|
||||
set_bit(SOCK_NOSPACE, &sk->sk_socket->flags);
|
||||
|
||||
/* will be cleared on avail space */
|
||||
set_bit(MPTCP_NOSPACE, &mptcp_sk(sk)->flags);
|
||||
}
|
||||
|
||||
static int mptcp_disconnect(struct sock *sk, int flags);
|
||||
|
||||
static int mptcp_sendmsg_fastopen(struct sock *sk, struct msghdr *msg,
|
||||
@ -1874,7 +1865,7 @@ static int mptcp_sendmsg(struct sock *sk, struct msghdr *msg, size_t len)
|
||||
continue;
|
||||
|
||||
wait_for_memory:
|
||||
mptcp_set_nospace(sk);
|
||||
set_bit(SOCK_NOSPACE, &sk->sk_socket->flags);
|
||||
__mptcp_push_pending(sk, msg->msg_flags);
|
||||
ret = sk_stream_wait_memory(sk, &timeo);
|
||||
if (ret)
|
||||
@ -3945,8 +3936,8 @@ static __poll_t mptcp_check_writeable(struct mptcp_sock *msk)
|
||||
if (sk_stream_is_writeable(sk))
|
||||
return EPOLLOUT | EPOLLWRNORM;
|
||||
|
||||
mptcp_set_nospace(sk);
|
||||
smp_mb__after_atomic(); /* msk->flags is changed by write_space cb */
|
||||
set_bit(SOCK_NOSPACE, &sk->sk_socket->flags);
|
||||
smp_mb__after_atomic(); /* NOSPACE is changed by mptcp_write_space() */
|
||||
if (sk_stream_is_writeable(sk))
|
||||
return EPOLLOUT | EPOLLWRNORM;
|
||||
|
||||
|
@ -113,10 +113,9 @@
|
||||
#define MPTCP_RST_TRANSIENT BIT(0)
|
||||
|
||||
/* MPTCP socket atomic flags */
|
||||
#define MPTCP_NOSPACE 1
|
||||
#define MPTCP_WORK_RTX 2
|
||||
#define MPTCP_FALLBACK_DONE 4
|
||||
#define MPTCP_WORK_CLOSE_SUBFLOW 5
|
||||
#define MPTCP_WORK_RTX 1
|
||||
#define MPTCP_FALLBACK_DONE 2
|
||||
#define MPTCP_WORK_CLOSE_SUBFLOW 3
|
||||
|
||||
/* MPTCP socket release cb flags */
|
||||
#define MPTCP_PUSH_PENDING 1
|
||||
@ -810,12 +809,9 @@ static inline bool mptcp_data_fin_enabled(const struct mptcp_sock *msk)
|
||||
|
||||
static inline void mptcp_write_space(struct sock *sk)
|
||||
{
|
||||
if (sk_stream_is_writeable(sk)) {
|
||||
/* pairs with memory barrier in mptcp_poll */
|
||||
smp_mb();
|
||||
if (test_and_clear_bit(MPTCP_NOSPACE, &mptcp_sk(sk)->flags))
|
||||
sk_stream_write_space(sk);
|
||||
}
|
||||
/* pairs with memory barrier in mptcp_poll */
|
||||
smp_mb();
|
||||
sk_stream_write_space(sk);
|
||||
}
|
||||
|
||||
static inline void __mptcp_sync_sndbuf(struct sock *sk)
|
||||
|
Loading…
Reference in New Issue
Block a user