From: Geliang Tang <geliang@kernel.org>
To: mptcp@lists.linux.dev
Cc: Geliang Tang <tanggeliang@kylinos.cn>
Subject: [PATCH mptcp-next v12 00/10] use bpf_iter in bpf schedulers
Date: Mon, 23 Dec 2024 18:05:42 +0800 [thread overview]
Message-ID: <cover.1734947922.git.tanggeliang@kylinos.cn> (raw)
From: Geliang Tang <tanggeliang@kylinos.cn>
v12:
- drop struct mptcp_sched_data.
- rebased on "split get_subflow interface into two" v2.
Based-on: <cover.1734942318.git.tanggeliang@kylinos.cn>
v11:
If another squash-to patchset (Squash to "Add mptcp_subflow bpf_iter
support") under review is merged before this set, v10 will fail to run.
v11 fixes this issue and can run regardless of whether it is merged
before or after the squash-to patchset.
Compared with v10, only patches 3, 5, and 8 have been modified:
- use mptcp_subflow_tcp_sock instead of bpf_mptcp_subflow_tcp_sock in
patch 3 and patch 5.
- drop bpf_mptcp_sched_kfunc_set, use bpf_mptcp_common_kfunc_set instead
in patch 8.
v10:
- drop mptcp_subflow_set_scheduled() helper and WRITE_ONCE() in BPF.
- add new bpf helper bpf_mptcp_send_info_to_ssk() for burst scheduler.
v9:
- merge 'Fixes for "use bpf_iter in bpf schedulers" v8' into this set.
- rebased on "add netns helpers" v4
v8:
- address Mat's comments in v7.
- move sk_stream_memory_free check inside bpf_for_each() loop.
- implement mptcp_subflow_set_scheduled helper in BPF.
- add cleanup patches into this set again.
v7:
- move cleanup patches out of this set.
- rebased.
v6:
- rebased to "add mptcp_subflow bpf_iter" v10
v5:
- patch 2, drop mptcp_sock_type and mptcp_subflow_type.
- patch 3, revert "bpf: Export more bpf_burst related functions"
- patch 4, merge "bpf: Export more bpf_burst related functions" into it.
v4:
- patch 2, a new cleanup for "bpf: Add bpf_mptcp_sched_ops".
- patch 3 should be reverted.
- patch 8, register kfunc_set.
v3:
- rebased.
- put the "drop has_bytes_sent" squash-to patch into this set.
v2:
- update bpf_rr and bpf_burst
With the newly added mptcp_subflow bpf_iter, we can get rid of the
subflows array "contexts" in struct mptcp_sched_data. This set
uses bpf_for_each(mptcp_subflow) helper to update all the bpf
schedules:
bpf_for_each(mptcp_subflow, subflow, msk) {
... ...
mptcp_subflow_set_scheduled(subflow, true);
}
Geliang Tang (10):
bpf: Add bpf_mptcp_send_info_to_ssk
Revert "mptcp: add sched_data helpers"
mptcp: drop struct mptcp_sched_data
Squash to "bpf: Add bpf_mptcp_sched_ops"
Squash to "bpf: Export mptcp packet scheduler helpers"
Squash to "selftests/bpf: Add bpf_first scheduler & test"
Squash to "selftests/bpf: Add bpf_bkup scheduler & test"
Squash to "selftests/bpf: Add bpf_rr scheduler & test"
Squash to "selftests/bpf: Add bpf_red scheduler & test"
Squash to "selftests/bpf: Add bpf_burst scheduler & test"
include/net/mptcp.h | 13 +---
include/uapi/linux/bpf.h | 7 ++
net/mptcp/bpf.c | 55 +++++++++------
net/mptcp/protocol.c | 5 --
net/mptcp/protocol.h | 7 +-
net/mptcp/sched.c | 40 ++---------
tools/include/uapi/linux/bpf.h | 7 ++
tools/testing/selftests/bpf/progs/mptcp_bpf.h | 3 -
.../selftests/bpf/progs/mptcp_bpf_bkup.c | 19 ++----
.../selftests/bpf/progs/mptcp_bpf_burst.c | 68 +++++++------------
.../selftests/bpf/progs/mptcp_bpf_first.c | 11 ++-
.../selftests/bpf/progs/mptcp_bpf_red.c | 11 ++-
.../selftests/bpf/progs/mptcp_bpf_rr.c | 34 ++++------
13 files changed, 119 insertions(+), 161 deletions(-)
--
2.45.2
next reply other threads:[~2024-12-23 10:06 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-12-23 10:05 Geliang Tang [this message]
2024-12-23 10:05 ` [PATCH mptcp-next v12 01/10] bpf: Add bpf_mptcp_send_info_to_ssk Geliang Tang
2024-12-23 10:05 ` [PATCH mptcp-next v12 02/10] Revert "mptcp: add sched_data helpers" Geliang Tang
2024-12-23 10:05 ` [PATCH mptcp-next v12 03/10] mptcp: drop struct mptcp_sched_data Geliang Tang
2024-12-23 10:05 ` [PATCH mptcp-next v12 04/10] Squash to "bpf: Add bpf_mptcp_sched_ops" Geliang Tang
2024-12-23 10:05 ` [PATCH mptcp-next v12 05/10] Squash to "bpf: Export mptcp packet scheduler helpers" Geliang Tang
2024-12-23 10:05 ` [PATCH mptcp-next v12 06/10] Squash to "selftests/bpf: Add bpf_first scheduler & test" Geliang Tang
2024-12-23 10:05 ` [PATCH mptcp-next v12 07/10] Squash to "selftests/bpf: Add bpf_bkup " Geliang Tang
2024-12-23 10:05 ` [PATCH mptcp-next v12 08/10] Squash to "selftests/bpf: Add bpf_rr " Geliang Tang
2024-12-23 10:05 ` [PATCH mptcp-next v12 09/10] Squash to "selftests/bpf: Add bpf_red " Geliang Tang
2024-12-23 10:05 ` [PATCH mptcp-next v12 10/10] Squash to "selftests/bpf: Add bpf_burst " Geliang Tang
2024-12-23 10:38 ` [PATCH mptcp-next v12 00/10] use bpf_iter in bpf schedulers MPTCP CI
2024-12-23 11:17 ` MPTCP CI
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1734947922.git.tanggeliang@kylinos.cn \
--to=geliang@kernel.org \
--cc=mptcp@lists.linux.dev \
--cc=tanggeliang@kylinos.cn \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.