]> www.infradead.org Git - users/jedix/linux-maple.git/commit
mptcp: sched: split get_subflow interface into two
authorGeliang Tang <tanggeliang@kylinos.cn>
Fri, 21 Feb 2025 15:44:01 +0000 (16:44 +0100)
committerJakub Kicinski <kuba@kernel.org>
Tue, 25 Feb 2025 02:23:44 +0000 (18:23 -0800)
commit9771a96a7a35daa2220cc4f170b840b34af28b2c
tree2a12bd2da6ccdd5a336ea0adbaf825fc67030d1e
parent7720790fd56b91259efe500a702ad4c0fd29b260
mptcp: sched: split get_subflow interface into two

get_retrans() interface of the burst packet scheduler invokes a sleeping
function mptcp_pm_subflow_chk_stale(), which calls __lock_sock_fast().
So get_retrans() interface should be set with BPF_F_SLEEPABLE flag in
BPF. But get_send() interface of this scheduler can't be set with
BPF_F_SLEEPABLE flag since it's invoked in ack_update_msk() under mptcp
data lock.

So this patch has to split get_subflow() interface of packet scheduer into
two interfaces: get_send() and get_retrans(). Then we can set get_retrans()
interface alone with BPF_F_SLEEPABLE flag.

Signed-off-by: Geliang Tang <tanggeliang@kylinos.cn>
Reviewed-by: Mat Martineau <martineau@kernel.org>
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Link: https://patch.msgid.link/20250221-net-next-mptcp-pm-misc-cleanup-3-v1-8-2b70ab1cee79@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
include/net/mptcp.h
net/mptcp/sched.c