mirror of
https://github.com/torvalds/linux.git
synced 2025-04-12 06:49:52 +00:00
mptcp: pm: exit early with ADD_ADDR echo if possible
When the userspace PM is used, or when the in-kernel limits are reached, there will be no need to schedule the PM worker to signal new addresses. That corresponds to pm->work_pending set to 0. In this case, an early exit can be done in mptcp_pm_add_addr_echoed() not to hold the PM lock, and iterate over the announced addresses list, not to schedule the worker anyway in this case. This is similar to what is done when a connection or a subflow has been established. Reviewed-by: Geliang Tang <geliang@kernel.org> Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org> Link: https://patch.msgid.link/20250228-net-next-mptcp-coverage-small-opti-v1-5-f933c4275676@kernel.org Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
70c575d5a9
commit
f0de92479a
@ -251,6 +251,9 @@ void mptcp_pm_add_addr_echoed(struct mptcp_sock *msk,
|
||||
|
||||
pr_debug("msk=%p\n", msk);
|
||||
|
||||
if (!READ_ONCE(pm->work_pending))
|
||||
return;
|
||||
|
||||
spin_lock_bh(&pm->lock);
|
||||
|
||||
if (mptcp_lookup_anno_list_by_saddr(msk, addr) && READ_ONCE(pm->work_pending))
|
||||
|
Loading…
x
Reference in New Issue
Block a user