From: Geliang Tang <tanggeliang@kylinos.cn>
v9:
- merge 'Fixes for "use bpf_iter in bpf schedulers" v8' into this set.
- rebased on "add netns helpers" v4
Based-on: <cover.1730260715.git.tanggeliang@kylinos.cn>
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 (13):
mptcp: check sk_stream_memory_free in loop
mptcp: make mptcp_subflow_set_scheduled inline
mptcp: add mptcp_validate_scheduler helper
Squash to "bpf: Add bpf_mptcp_sched_ops"
Squash to "selftests/bpf: Add bpf scheduler test"
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"
Squash to "bpf: Export mptcp packet scheduler helpers"
Revert "mptcp: add sched_data helpers"
mptcp: drop subflow contexts in mptcp_sched_data
include/net/mptcp.h | 2 -
net/mptcp/bpf.c | 45 +++++-------
net/mptcp/protocol.c | 4 +-
net/mptcp/protocol.h | 12 ++-
net/mptcp/sched.c | 45 ++++--------
.../testing/selftests/bpf/prog_tests/mptcp.c | 45 ++++++------
tools/testing/selftests/bpf/progs/mptcp_bpf.h | 14 ++--
.../selftests/bpf/progs/mptcp_bpf_bkup.c | 18 +----
.../selftests/bpf/progs/mptcp_bpf_burst.c | 73 ++++++++-----------
.../selftests/bpf/progs/mptcp_bpf_first.c | 4 +-
.../selftests/bpf/progs/mptcp_bpf_red.c | 10 +--
.../selftests/bpf/progs/mptcp_bpf_rr.c | 33 ++++-----
12 files changed, 131 insertions(+), 174 deletions(-)
--
2.45.2