From: Geliang Tang <geliang.tang@suse.com>
To: mptcp@lists.linux.dev
Cc: Geliang Tang <geliang.tang@suse.com>
Subject: [PATCH mptcp-next v8 00/17] BPF packet scheduler updates
Date: Thu, 8 Jun 2023 13:46:38 +0800 [thread overview]
Message-ID: <cover.1686202841.git.geliang.tang@suse.com> (raw)
v8:
address Paolo's comments in v7:
- add sched_data into mptcp_sock as new field, not an pointer.
- drop rename __mptcp_set_timeout, export mptcp_set_timeout into BPF
context instead.
- add a comment in bpf_burst to explan why not use
"ssk = send_info[SSK_MODE_ACTIVE].ssk;" directly.
- move mptcp_subflow_tcp_sock into bpf_tcp_helpers.h.
v7:
- drop more last_snd, only set it in bpf_rr.
- 1-10: save sched_data at mptcp_sock, for issues #342
- 11-16: add bpf_burst scheduler
- 17-19: add bpf_stale scheduler, for issues #349
v6:
- Only update patches 14, 15. Add a helper bpf_mptcp_subflow_ctx, fix
bug in bpf_burst_get_retrans().
v5:
- 1-9: save sched_data at mptcp_sock, for issues #342
- 10-15: add bpf_burst scheduler
- 16-18: add bpf_stale scheduler, for issues #349
v4:
- drop "mptcp: add three helpers for bpf_burst", implement the helpers
in the bpf context directly.
v3:
- address Florian's comments in v2.
- split into three more patches.
v2:
- fix this error reported by CI:
KASAN: slab-use-after-free in __mptcp_close_ssk (net/mptcp/protocol.c:2461)
- add bpf burst scheduler.
This patchset adds sched_data pointer into mptcp_sock to to save some
data at MPTCP and subflows levels.
With these changes, the old patch "mptcp: register default scheduler" in
[1] now works.
https://patchwork.kernel.org/project/mptcp/cover/cover.1665753926.git.geliang.tang@suse.com/ [1]
Closes: https://github.com/multipath-tcp/mptcp_net-next/issues/342
Closes: https://github.com/multipath-tcp/mptcp_net-next/issues/349
Geliang Tang (17):
Squash to "mptcp: drop last_snd and MPTCP_RESET_SCHEDULER"
Squash to "mptcp: add struct mptcp_sched_ops"
Squash to "mptcp: add scheduler wrappers"
mptcp: add last_snd in sched_data
mptcp: add snd_burst in sched_data
mptcp: register default scheduler
Squash to "bpf: Add bpf_mptcp_sched_ops"
Squash to "selftests/bpf: Add mptcp sched structs"
Squash to "selftests/bpf: Add bpf_rr scheduler"
mptcp: add two wrappers needed by bpf_burst
bpf: Add bpf_burst write accesses
bpf: Export more bpf_burst related functions
selftests/bpf: Add bpf_burst scheduler
selftests/bpf: Add bpf_burst test
bpf: Add subflow bit flags write accesses
selftests/bpf: Add bpf_stale scheduler
selftests/bpf: Add bpf_stale test
include/net/mptcp.h | 4 +-
net/mptcp/bpf.c | 55 ++++-
net/mptcp/protocol.c | 27 +--
net/mptcp/protocol.h | 11 +-
net/mptcp/sched.c | 56 ++++-
tools/testing/selftests/bpf/bpf_tcp_helpers.h | 17 +-
.../testing/selftests/bpf/prog_tests/mptcp.c | 76 +++++++
.../selftests/bpf/progs/mptcp_bpf_burst.c | 208 ++++++++++++++++++
.../selftests/bpf/progs/mptcp_bpf_rr.c | 5 +-
.../selftests/bpf/progs/mptcp_bpf_stale.c | 59 +++++
10 files changed, 471 insertions(+), 47 deletions(-)
create mode 100644 tools/testing/selftests/bpf/progs/mptcp_bpf_burst.c
create mode 100644 tools/testing/selftests/bpf/progs/mptcp_bpf_stale.c
--
2.35.3
next reply other threads:[~2023-06-08 5:47 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-06-08 5:46 Geliang Tang [this message]
2023-06-08 5:46 ` [PATCH mptcp-next v8 01/17] Squash to "mptcp: drop last_snd and MPTCP_RESET_SCHEDULER" Geliang Tang
2023-06-08 5:46 ` [PATCH mptcp-next v8 02/17] Squash to "mptcp: add struct mptcp_sched_ops" Geliang Tang
2023-06-08 5:46 ` [PATCH mptcp-next v8 03/17] Squash to "mptcp: add scheduler wrappers" Geliang Tang
2023-06-08 5:46 ` [PATCH mptcp-next v8 04/17] mptcp: add last_snd in sched_data Geliang Tang
2023-06-08 5:46 ` [PATCH mptcp-next v8 05/17] mptcp: add snd_burst " Geliang Tang
2023-06-08 5:46 ` [PATCH mptcp-next v8 06/17] mptcp: register default scheduler Geliang Tang
2023-06-08 5:46 ` [PATCH mptcp-next v8 07/17] Squash to "bpf: Add bpf_mptcp_sched_ops" Geliang Tang
2023-06-08 5:46 ` [PATCH mptcp-next v8 08/17] Squash to "selftests/bpf: Add mptcp sched structs" Geliang Tang
2023-06-08 5:46 ` [PATCH mptcp-next v8 09/17] Squash to "selftests/bpf: Add bpf_rr scheduler" Geliang Tang
2023-06-08 5:46 ` [PATCH mptcp-next v8 10/17] mptcp: add two wrappers needed by bpf_burst Geliang Tang
2023-06-08 5:46 ` [PATCH mptcp-next v8 11/17] bpf: Add bpf_burst write accesses Geliang Tang
2023-06-08 5:46 ` [PATCH mptcp-next v8 12/17] bpf: Export more bpf_burst related functions Geliang Tang
2023-06-08 5:46 ` [PATCH mptcp-next v8 13/17] selftests/bpf: Add bpf_burst scheduler Geliang Tang
2023-06-09 9:57 ` Paolo Abeni
2023-06-09 13:32 ` Geliang Tang
2023-06-09 14:40 ` Paolo Abeni
2023-06-10 1:45 ` Geliang Tang
2023-06-12 11:05 ` Paolo Abeni
2023-06-12 13:29 ` Geliang Tang
2023-06-12 14:22 ` Paolo Abeni
2023-06-13 5:36 ` Geliang Tang
2023-06-13 9:35 ` Paolo Abeni
2023-06-13 12:32 ` Geliang Tang
2023-06-13 13:36 ` Paolo Abeni
2023-06-13 14:03 ` Geliang Tang
2023-06-13 14:18 ` Paolo Abeni
2023-06-08 5:46 ` [PATCH mptcp-next v8 14/17] selftests/bpf: Add bpf_burst test Geliang Tang
2023-06-08 5:46 ` [PATCH mptcp-next v8 15/17] bpf: Add subflow bit flags write accesses Geliang Tang
2023-06-08 5:46 ` [PATCH mptcp-next v8 16/17] selftests/bpf: Add bpf_stale scheduler Geliang Tang
2023-06-08 5:46 ` [PATCH mptcp-next v8 17/17] selftests/bpf: Add bpf_stale test Geliang Tang
2023-06-08 6:29 ` selftests/bpf: Add bpf_stale test: Build Failure MPTCP CI
2023-06-08 6:56 ` selftests/bpf: Add bpf_stale test: Tests Results MPTCP CI
2023-06-13 10:08 ` selftests/bpf: Add bpf_stale test: Build Failure MPTCP CI
2023-06-13 10:57 ` selftests/bpf: Add bpf_stale test: Tests Results 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.1686202841.git.geliang.tang@suse.com \
--to=geliang.tang@suse.com \
--cc=mptcp@lists.linux.dev \
/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.