Message ID | c7f5b4fe1579c47eae9d34ac8b5570bccf277f13.1742804266.git.tanggeliang@kylinos.cn (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Matthieu Baerts |
Headers | show |
Series | BPF path manager, part 6 | expand |
Context | Check | Description |
---|---|---|
matttbe/checkpatch | success | total: 0 errors, 0 warnings, 0 checks, 24 lines checked |
matttbe/shellcheck | success | MPTCP selftests files have not been modified |
matttbe/build | success | Build and static analysis OK |
matttbe/KVM_Validation__normal | success | Success! ✅ |
matttbe/KVM_Validation__debug | success | Success! ✅ |
matttbe/KVM_Validation__btf-normal__only_bpftest_all_ | success | Success! ✅ |
matttbe/KVM_Validation__btf-debug__only_bpftest_all_ | success | Success! ✅ |
Hi Geliang, On 24/03/2025 09:19, Geliang Tang wrote: > From: Geliang Tang <tanggeliang@kylinos.cn> > > This patch moves mptcp_pm_close_subflow() forward to let it be used by both > the userspace PM and the in-kernel PM in mptcp_pm_subflow_check_next().Then (space missing after the '.') > mptcp_pm_is_userspace() here can be dropped. > > Signed-off-by: Geliang Tang <tanggeliang@kylinos.cn> > --- > net/mptcp/pm.c | 12 ++---------- > 1 file changed, 2 insertions(+), 10 deletions(-) > > diff --git a/net/mptcp/pm.c b/net/mptcp/pm.c > index e2b2c874a9f8..906c558aef0b 100644 > --- a/net/mptcp/pm.c > +++ b/net/mptcp/pm.c > @@ -562,22 +562,14 @@ void mptcp_pm_subflow_check_next(struct mptcp_sock *msk, > bool update_subflows; > > update_subflows = subflow->request_join || subflow->mp_join; > - if (mptcp_pm_is_userspace(msk)) { > - if (update_subflows) { > - spin_lock_bh(&pm->lock); > - pm->subflows--; > - spin_unlock_bh(&pm->lock); > - } > - return; > - } > + if (update_subflows) > + mptcp_pm_close_subflow(msk); > > if (!pm->ops->subflow_established || > (!READ_ONCE(pm->work_pending) && !update_subflows)) I didn't check, but can we then not drop "!update_subflows" check here? > return; > > spin_lock_bh(&pm->lock); > - if (update_subflows) > - __mptcp_pm_close_subflow(msk); > > /* Even if this subflow is not really established, tell the PM to try > * to pick the next ones, if possible. Cheers, Matt
diff --git a/net/mptcp/pm.c b/net/mptcp/pm.c index e2b2c874a9f8..906c558aef0b 100644 --- a/net/mptcp/pm.c +++ b/net/mptcp/pm.c @@ -562,22 +562,14 @@ void mptcp_pm_subflow_check_next(struct mptcp_sock *msk, bool update_subflows; update_subflows = subflow->request_join || subflow->mp_join; - if (mptcp_pm_is_userspace(msk)) { - if (update_subflows) { - spin_lock_bh(&pm->lock); - pm->subflows--; - spin_unlock_bh(&pm->lock); - } - return; - } + if (update_subflows) + mptcp_pm_close_subflow(msk); if (!pm->ops->subflow_established || (!READ_ONCE(pm->work_pending) && !update_subflows)) return; spin_lock_bh(&pm->lock); - if (update_subflows) - __mptcp_pm_close_subflow(msk); /* Even if this subflow is not really established, tell the PM to try * to pick the next ones, if possible.