Series |
use bpf_iter in bpf schedulers
|
expand
-
[mptcp-next,v9,00/13] use bpf_iter in bpf schedulers
-
[mptcp-next,v9,01/13] mptcp: check sk_stream_memory_free in loop
-
[mptcp-next,v9,02/13] mptcp: make mptcp_subflow_set_scheduled inline
-
[mptcp-next,v9,03/13] mptcp: add mptcp_validate_scheduler helper
-
[mptcp-next,v9,04/13] Squash to "bpf: Add bpf_mptcp_sched_ops"
-
[mptcp-next,v9,05/13] Squash to "selftests/bpf: Add bpf scheduler test"
-
[mptcp-next,v9,06/13] Squash to "selftests/bpf: Add bpf_first scheduler & test"
-
[mptcp-next,v9,07/13] Squash to "selftests/bpf: Add bpf_bkup scheduler & test"
-
[mptcp-next,v9,08/13] Squash to "selftests/bpf: Add bpf_rr scheduler & test"
-
[mptcp-next,v9,09/13] Squash to "selftests/bpf: Add bpf_red scheduler & test"
-
[mptcp-next,v9,10/13] Squash to "selftests/bpf: Add bpf_burst scheduler & test"
-
[mptcp-next,v9,11/13] Squash to "bpf: Export mptcp packet scheduler helpers"
-
[mptcp-next,v9,12/13] Revert "mptcp: add sched_data helpers"
-
[mptcp-next,v9,13/13] mptcp: drop subflow contexts in mptcp_sched_data
|
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(-)