From: Gang Yan <yangang@kylinos.cn>
Changelog:
v3:
Patch 1:
- Carries the full module refcount handling that was previously
deferred to a squash-to patch.
- mptcp_get_scheduler now returns the ops pointer directly instead
of copying the name, so mptcp_init_sock() no longer goes through a
redundant mptcp_sched_find() list walk.
- A new pernet-level helper 'mptcp_pernet_sched' is shared with
proc_scheduler().
- mptcp_net_init releases the default reference on the
mptcp_pernet_new_table error path.
- Simplify the commit message.
Patch 2:
- Introduce the pernet-level helper mptcp_pernet_pm, like sched
does.
- Commit message shows why no moudule reference is taken here for
addressing sashiko's comments.
Patch 3:
- Remove the WRITE_ONCE() part and the tag of Tao Cui.
Patch 4:
- It is new in this seires. Followed by Matt's suggestions, add
comments before pm_type was changes.
Patch 5:
- Release the PM reference on the mptcp_net_init errpr path as sched
does.
- mptcp_pm_ops_init() now takes the ops pointer directly instead of
the name, and mptcp_get_path_manager() returns the ops pointer:
the redundant mptcp_pm_find() list walk from the name is avoided,
mirroring the scheduler side earlier in this series.
v2:
- Split the code around bpf to patch 4 and patch 5.
- Put WRITE_ONCE(pernet->pm_type, pm_type) into patch 3 and add
tag of Tao Cui.
Link: https://patchwork.kernel.org/project/mptcp/cover/20260818094825.48446-1-gang.yan@linux.dev/
v1:
Link: https://patchwork.kernel.org/project/mptcp/cover/20260817012452.7519-1-gang.yan@linux.dev/
Gang Yan (4):
mptcp: sched: change scheduler sysctl atomically
mptcp: pm: change path_manager sysctl atomically
mptcp: pm: use WRITE_ONCE() for the pm_type sysctl
Squash to "mptcp: pm: init and release mptcp_pm_ops"
Matthieu Baerts (NGI0) (1):
mptcp: use READ_ONCE() over sysctls
net/mptcp/ctrl.c | 141 ++++++++++++++++++++++++++++++++-----------
net/mptcp/pm.c | 11 ++--
net/mptcp/protocol.c | 3 +-
net/mptcp/protocol.h | 6 +-
net/mptcp/sched.c | 2 +-
5 files changed, 115 insertions(+), 48 deletions(-)
--
2.43.0