* [PATCH mptcp-next 1/2] Squash to "bpf: Export mptcp packet scheduler helpers"
2026-08-06 9:10 [PATCH mptcp-next 0/2] Drop mptcp_pm_subflow_chk_stale in bpf Geliang Tang
@ 2026-08-06 9:10 ` Geliang Tang
2026-08-06 9:10 ` [PATCH mptcp-next 2/2] Squash to "selftests/bpf: Add bpf_burst scheduler & test" Geliang Tang
` (3 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: Geliang Tang @ 2026-08-06 9:10 UTC (permalink / raw)
To: mptcp; +Cc: Geliang Tang
From: Geliang Tang <tanggeliang@kylinos.cn>
mptcp_pm_subflow_chk_stale() is removed from mptcp_subflow_get_retrans()
in kernel, drop it in bpf_mptcp_common_kfunc_ids.
Signed-off-by: Geliang Tang <tanggeliang@kylinos.cn>
---
net/mptcp/bpf.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/net/mptcp/bpf.c b/net/mptcp/bpf.c
index 0845061ddc65..82b0ad25f700 100644
--- a/net/mptcp/bpf.c
+++ b/net/mptcp/bpf.c
@@ -322,7 +322,6 @@ BTF_ID_FLAGS(func, mptcp_subflow_active)
BTF_ID_FLAGS(func, mptcp_set_timeout)
BTF_ID_FLAGS(func, mptcp_wnd_end)
BTF_ID_FLAGS(func, bpf_sk_stream_memory_free)
-BTF_ID_FLAGS(func, mptcp_pm_subflow_chk_stale, KF_SLEEPABLE)
BTF_KFUNCS_END(bpf_mptcp_common_kfunc_ids)
static int bpf_mptcp_common_kfunc_filter(const struct bpf_prog *prog, u32 kfunc_id)
--
2.53.0
^ permalink raw reply related [flat|nested] 6+ messages in thread* [PATCH mptcp-next 2/2] Squash to "selftests/bpf: Add bpf_burst scheduler & test"
2026-08-06 9:10 [PATCH mptcp-next 0/2] Drop mptcp_pm_subflow_chk_stale in bpf Geliang Tang
2026-08-06 9:10 ` [PATCH mptcp-next 1/2] Squash to "bpf: Export mptcp packet scheduler helpers" Geliang Tang
@ 2026-08-06 9:10 ` Geliang Tang
2026-08-06 10:17 ` [PATCH mptcp-next 0/2] Drop mptcp_pm_subflow_chk_stale in bpf MPTCP CI
` (2 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: Geliang Tang @ 2026-08-06 9:10 UTC (permalink / raw)
To: mptcp; +Cc: Geliang Tang
From: Geliang Tang <tanggeliang@kylinos.cn>
mptcp_pm_subflow_chk_stale() is removed from mptcp_subflow_get_retrans()
in kernel, drop it in bpf_burst_get_retrans() too.
Signed-off-by: Geliang Tang <tanggeliang@kylinos.cn>
---
tools/testing/selftests/bpf/progs/mptcp_bpf_burst.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/tools/testing/selftests/bpf/progs/mptcp_bpf_burst.c b/tools/testing/selftests/bpf/progs/mptcp_bpf_burst.c
index 8ff529d38a59..3d512b0efe6f 100644
--- a/tools/testing/selftests/bpf/progs/mptcp_bpf_burst.c
+++ b/tools/testing/selftests/bpf/progs/mptcp_bpf_burst.c
@@ -25,7 +25,6 @@ extern bool mptcp_subflow_active(struct mptcp_subflow_context *subflow) __ksym;
extern void mptcp_set_timeout(struct sock *sk) __ksym;
extern __u64 mptcp_wnd_end(const struct mptcp_sock *msk) __ksym;
extern bool bpf_sk_stream_memory_free(const struct mptcp_subflow_context *subflow) __ksym;
-extern void mptcp_pm_subflow_chk_stale(const struct mptcp_sock *msk, struct sock *ssk) __ksym;
static __always_inline __u64 div_u64(__u64 dividend, __u32 divisor)
{
@@ -140,7 +139,6 @@ int BPF_PROG(bpf_burst_get_retrans, struct mptcp_sock *msk)
/* still data outstanding at TCP level? skip this */
if (!tcp_rtx_and_write_queues_empty(ssk)) {
- mptcp_pm_subflow_chk_stale(msk, ssk);
min_stale_count = min(min_stale_count, subflow->stale_count);
continue;
}
--
2.53.0
^ permalink raw reply related [flat|nested] 6+ messages in thread* Re: [PATCH mptcp-next 0/2] Drop mptcp_pm_subflow_chk_stale in bpf
2026-08-06 9:10 [PATCH mptcp-next 0/2] Drop mptcp_pm_subflow_chk_stale in bpf Geliang Tang
2026-08-06 9:10 ` [PATCH mptcp-next 1/2] Squash to "bpf: Export mptcp packet scheduler helpers" Geliang Tang
2026-08-06 9:10 ` [PATCH mptcp-next 2/2] Squash to "selftests/bpf: Add bpf_burst scheduler & test" Geliang Tang
@ 2026-08-06 10:17 ` MPTCP CI
2026-08-06 16:54 ` Paolo Abeni
2026-08-07 11:46 ` Matthieu Baerts
4 siblings, 0 replies; 6+ messages in thread
From: MPTCP CI @ 2026-08-06 10:17 UTC (permalink / raw)
To: Geliang Tang; +Cc: mptcp
Hi Geliang,
Thank you for your modifications, that's great!
Our CI did some validations and here is its report:
- KVM Validation: normal (except selftest_mptcp_join): Success! ✅
- KVM Validation: normal (only selftest_mptcp_join): Success! ✅
- KVM Validation: debug (except selftest_mptcp_join): Success! ✅
- KVM Validation: debug (only selftest_mptcp_join): Success! ✅
- KVM Validation: btf-normal (only bpftest_all): Success! ✅
- KVM Validation: btf-debug (only bpftest_all): Success! ✅
- Task: https://github.com/multipath-tcp/mptcp_net-next/actions/runs/31089366128
Initiator: Patchew Applier
Commits: https://github.com/multipath-tcp/mptcp_net-next/commits/b071ec3b5fea
Patchwork: https://patchwork.kernel.org/project/mptcp/list/?series=1141341
If there are some issues, you can reproduce them using the same environment as
the one used by the CI thanks to a docker image, e.g.:
$ cd [kernel source code]
$ docker run -v "${PWD}:${PWD}:rw" -w "${PWD}" --privileged --rm -it \
--pull always mptcp/mptcp-upstream-virtme-docker:latest \
auto-normal
For more details:
https://github.com/multipath-tcp/mptcp-upstream-virtme-docker
Please note that despite all the efforts that have been already done to have a
stable tests suite when executed on a public CI like here, it is possible some
reported issues are not due to your modifications. Still, do not hesitate to
help us improve that ;-)
Cheers,
MPTCP GH Action bot
Bot operated by Matthieu Baerts (NGI0 Core)
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: [PATCH mptcp-next 0/2] Drop mptcp_pm_subflow_chk_stale in bpf
2026-08-06 9:10 [PATCH mptcp-next 0/2] Drop mptcp_pm_subflow_chk_stale in bpf Geliang Tang
` (2 preceding siblings ...)
2026-08-06 10:17 ` [PATCH mptcp-next 0/2] Drop mptcp_pm_subflow_chk_stale in bpf MPTCP CI
@ 2026-08-06 16:54 ` Paolo Abeni
2026-08-07 11:46 ` Matthieu Baerts
4 siblings, 0 replies; 6+ messages in thread
From: Paolo Abeni @ 2026-08-06 16:54 UTC (permalink / raw)
To: Geliang Tang, mptcp; +Cc: Geliang Tang
On 8/6/26 11:10 AM, Geliang Tang wrote:
> From: Geliang Tang <tanggeliang@kylinos.cn>
>
> Since mptcp_pm_subflow_chk_stale is removed in the "mptcp: address stall
> under memory pressure" series, this patch drops it from BPF to keep the
> BPF tests passing.
>
> Based-on: <cover.1785943854.git.pabeni@redhat.com>
>
> Geliang Tang (2):
> Squash to "bpf: Export mptcp packet scheduler helpers"
> Squash to "selftests/bpf: Add bpf_burst scheduler & test"
>
> net/mptcp/bpf.c | 1 -
> tools/testing/selftests/bpf/progs/mptcp_bpf_burst.c | 2 --
> 2 files changed, 3 deletions(-)
>
Thanks Geliang for the quick turn around!
Both patches LGTM!
Side note: I really think it's for the better to keep the stale subflow
logic detection out of the retrans scheduler.
/P
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: [PATCH mptcp-next 0/2] Drop mptcp_pm_subflow_chk_stale in bpf
2026-08-06 9:10 [PATCH mptcp-next 0/2] Drop mptcp_pm_subflow_chk_stale in bpf Geliang Tang
` (3 preceding siblings ...)
2026-08-06 16:54 ` Paolo Abeni
@ 2026-08-07 11:46 ` Matthieu Baerts
4 siblings, 0 replies; 6+ messages in thread
From: Matthieu Baerts @ 2026-08-07 11:46 UTC (permalink / raw)
To: Geliang Tang, mptcp; +Cc: Geliang Tang
Hi Geliang,
On 06/08/2026 11:10, Geliang Tang wrote:
> From: Geliang Tang <tanggeliang@kylinos.cn>
>
> Since mptcp_pm_subflow_chk_stale is removed in the "mptcp: address stall
> under memory pressure" series, this patch drops it from BPF to keep the
> BPF tests passing.
Thank you for fixing that!
New patches for t/upstream:
- 3e3fab142e29: "squashed" patch 1/2 in "bpf: Export mptcp packet scheduler helpers"
- b1602f423178: "squashed" patch 2/2 in "selftests/bpf: Add bpf_burst scheduler & test"
- Results: 7bf94a8339a9..b67053e5e63b (export)
Tests are now in progress:
- export: https://github.com/multipath-tcp/mptcp_net-next/commit/58dcc35549b1dfcf3d689fc5e163a25fb11a335c/checks
Cheers,
Matt
--
Sponsored by the NGI0 Core fund.
^ permalink raw reply [flat|nested] 6+ messages in thread