include/net/mptcp.h | 6 +- net/mptcp/bpf.c | 1 + net/mptcp/pm.c | 9 +- net/mptcp/pm_netlink.c | 3 - net/mptcp/protocol.c | 161 +++++++++--------- net/mptcp/protocol.h | 1 - net/mptcp/sched.c | 21 ++- tools/testing/selftests/bpf/bpf_tcp_helpers.h | 8 +- .../selftests/bpf/progs/mptcp_bpf_bkup.c | 10 +- .../selftests/bpf/progs/mptcp_bpf_first.c | 10 +- .../selftests/bpf/progs/mptcp_bpf_rr.c | 10 +- 11 files changed, 143 insertions(+), 97 deletions(-)
v19: - update patch 1. - split "BPF redundant scheduler" into two parts. - rebased on "export/20221111T055536". Geliang Tang (9): mptcp: refactor push_pending logic mptcp: drop last_snd and MPTCP_RESET_SCHEDULER mptcp: add sched_data_set_contexts helper Squash to "mptcp: add struct mptcp_sched_ops" Squash to "bpf: Add bpf_mptcp_sched_ops" Squash to "bpf: Add bpf_mptcp_sched_kfunc_set" Squash to "selftests/bpf: Add bpf_first scheduler" Squash to "selftests/bpf: Add bpf_bkup scheduler" Squash to "selftests/bpf: Add bpf_rr scheduler" include/net/mptcp.h | 6 +- net/mptcp/bpf.c | 1 + net/mptcp/pm.c | 9 +- net/mptcp/pm_netlink.c | 3 - net/mptcp/protocol.c | 161 +++++++++--------- net/mptcp/protocol.h | 1 - net/mptcp/sched.c | 21 ++- tools/testing/selftests/bpf/bpf_tcp_helpers.h | 8 +- .../selftests/bpf/progs/mptcp_bpf_bkup.c | 10 +- .../selftests/bpf/progs/mptcp_bpf_first.c | 10 +- .../selftests/bpf/progs/mptcp_bpf_rr.c | 10 +- 11 files changed, 143 insertions(+), 97 deletions(-) -- 2.35.3
Hi Geliang, Mat, On 11/11/2022 08:47, Geliang Tang wrote: > v19: > - update patch 1. > - split "BPF redundant scheduler" into two parts. > - rebased on "export/20221111T055536". > > Geliang Tang (9): > mptcp: refactor push_pending logic > mptcp: drop last_snd and MPTCP_RESET_SCHEDULER > mptcp: add sched_data_set_contexts helper > Squash to "mptcp: add struct mptcp_sched_ops" > Squash to "bpf: Add bpf_mptcp_sched_ops" > Squash to "bpf: Add bpf_mptcp_sched_kfunc_set" > Squash to "selftests/bpf: Add bpf_first scheduler" > Squash to "selftests/bpf: Add bpf_bkup scheduler" > Squash to "selftests/bpf: Add bpf_rr scheduler" Thank you for the patches and the reviews! I just applied them (+ an additional squash-to patch) in our tree (feat. for other trees (bpf)) with Mat's RvB tag. Patches 1/9 and 2/9 have been added at the beginning. Patch 3/9 depends on "mptcp: add struct mptcp_sched_ops" and it has been applied just before "bpf: Add bpf_mptcp_sched_ops" as mentioned by Geliang. Please also note that patch 5/9 has been squashed in "selftests/bpf: Add mptcp sched structs" instead of "bpf: Add bpf_mptcp_sched_ops. Do not hesitate to tell me if something is not OK! New patches for t/upstream: - 602fba0955d1: mptcp: refactor push_pending logic - 343f8eed9abb: mptcp: drop last_snd and MPTCP_RESET_SCHEDULER - Results: 69720c6cd168..ac857086fdb8 (export) - 65e9504361f6: mptcp: add sched_data_set_contexts helper - Results: ac857086fdb8..ae9c4d4cf58f (export) - 82721c73112e: "squashed" patch 4/9 in "mptcp: add struct mptcp_sched_ops" - a7c2367dd1d2: "squashed" patch 5/9 in "selftests/bpf: Add mptcp sched structs" - ee74ff707e4b: "squashed" patch 6/9 in "bpf: Add bpf_mptcp_sched_kfunc_set" - 813537758eb5: "squashed" patch 7/9 in "selftests/bpf: Add bpf_first scheduler" - 762c5b194975: "squashed" patch 8/9 in "selftests/bpf: Add bpf_bkup scheduler" - 5db53c2d3ef6: "squashed" patch 9/9 in "selftests/bpf: Add bpf_rr scheduler" - Results: ae9c4d4cf58f..0814e9ff0a94 (export) - 7b3058027867: "squashed" in "mptcp: refactor push_pending logic" - Results: 0814e9ff0a94..d98411bcedd1 (export) Tests are now in progress: https://cirrus-ci.com/github/multipath-tcp/mptcp_net-next/export/20221118T145003 Cheers, Matt -- Tessares | Belgium | Hybrid Access Solutions www.tessares.net
On Fri, Nov 18, 2022 at 03:52:38PM +0100, Matthieu Baerts wrote: > Hi Geliang, Mat, > > On 11/11/2022 08:47, Geliang Tang wrote: > > v19: > > - update patch 1. > > - split "BPF redundant scheduler" into two parts. > > - rebased on "export/20221111T055536". > > > > Geliang Tang (9): > > mptcp: refactor push_pending logic > > mptcp: drop last_snd and MPTCP_RESET_SCHEDULER > > mptcp: add sched_data_set_contexts helper > > Squash to "mptcp: add struct mptcp_sched_ops" > > Squash to "bpf: Add bpf_mptcp_sched_ops" > > Squash to "bpf: Add bpf_mptcp_sched_kfunc_set" Hi Matt, The commit logs in these three patches become mismatched since the squashed code, please update them for me: ''' mptcp: add struct mptcp_sched_ops This patch defines struct mptcp_sched_ops, which has three struct members, name, owner and list, and four function pointers: init(), release(), data_init() and get_subflow(). The scheduler functions data_init() and get_subflow() have a struct mptcp_sched_data parameter, which contains a reinject flag and a mptcp_subflow_context array. Add the scheduler registering, unregistering and finding functions to add, delete and find a packet scheduler on the global list mptcp_sched_list. bpf: Add bpf_mptcp_sched_kfunc_set This patch adds a new struct btf_kfunc_id_set for MPTCP scheduler. Add mptcp_subflow_set_scheduled() and mptcp_sched_data_set_contexts() helpers into this id_set, and register it in bpf_mptcp_sched_kfunc_init() to make sure these helpers can be accessed from the BPF context. selftests/bpf: Add mptcp sched structs This patch adds three MPTCP scheduler structures: struct mptcp_sched_ops, struct mptcp_sched_data and struct mptcp_subflow_context; and exports mptcp_subflow_set_scheduled() and mptcp_sched_data_set_contexts() helpers for bpf selftests. ''' Thanks, -Geliang > > Squash to "selftests/bpf: Add bpf_first scheduler" > > Squash to "selftests/bpf: Add bpf_bkup scheduler" > > Squash to "selftests/bpf: Add bpf_rr scheduler" > > Thank you for the patches and the reviews! > > I just applied them (+ an additional squash-to patch) in our tree (feat. > for other trees (bpf)) with Mat's RvB tag. > > Patches 1/9 and 2/9 have been added at the beginning. Patch 3/9 depends > on "mptcp: add struct mptcp_sched_ops" and it has been applied just > before "bpf: Add bpf_mptcp_sched_ops" as mentioned by Geliang. > > Please also note that patch 5/9 has been squashed in "selftests/bpf: Add > mptcp sched structs" instead of "bpf: Add bpf_mptcp_sched_ops. Do not > hesitate to tell me if something is not OK! > > New patches for t/upstream: > - 602fba0955d1: mptcp: refactor push_pending logic > - 343f8eed9abb: mptcp: drop last_snd and MPTCP_RESET_SCHEDULER > - Results: 69720c6cd168..ac857086fdb8 (export) > > - 65e9504361f6: mptcp: add sched_data_set_contexts helper > - Results: ac857086fdb8..ae9c4d4cf58f (export) > > - 82721c73112e: "squashed" patch 4/9 in "mptcp: add struct mptcp_sched_ops" > - a7c2367dd1d2: "squashed" patch 5/9 in "selftests/bpf: Add mptcp sched > structs" > - ee74ff707e4b: "squashed" patch 6/9 in "bpf: Add bpf_mptcp_sched_kfunc_set" > - 813537758eb5: "squashed" patch 7/9 in "selftests/bpf: Add bpf_first > scheduler" > - 762c5b194975: "squashed" patch 8/9 in "selftests/bpf: Add bpf_bkup > scheduler" > - 5db53c2d3ef6: "squashed" patch 9/9 in "selftests/bpf: Add bpf_rr > scheduler" > - Results: ae9c4d4cf58f..0814e9ff0a94 (export) > > - 7b3058027867: "squashed" in "mptcp: refactor push_pending logic" > - Results: 0814e9ff0a94..d98411bcedd1 (export) > > Tests are now in progress: > > https://cirrus-ci.com/github/multipath-tcp/mptcp_net-next/export/20221118T145003 > > Cheers, > Matt > -- > Tessares | Belgium | Hybrid Access Solutions > www.tessares.net
Hi Geliang, On 09/12/2022 04:18, Geliang Tang wrote: > On Fri, Nov 18, 2022 at 03:52:38PM +0100, Matthieu Baerts wrote: >> Hi Geliang, Mat, >> >> On 11/11/2022 08:47, Geliang Tang wrote: >>> v19: >>> - update patch 1. >>> - split "BPF redundant scheduler" into two parts. >>> - rebased on "export/20221111T055536". >>> >>> Geliang Tang (9): >>> mptcp: refactor push_pending logic >>> mptcp: drop last_snd and MPTCP_RESET_SCHEDULER >>> mptcp: add sched_data_set_contexts helper >>> Squash to "mptcp: add struct mptcp_sched_ops" >>> Squash to "bpf: Add bpf_mptcp_sched_ops" >>> Squash to "bpf: Add bpf_mptcp_sched_kfunc_set" > > Hi Matt, > > The commit logs in these three patches become mismatched since the squashed > code, please update them for me: Good catch! Sure, just did: New patches for t/upstream: - 8685053d6d06: tg:msg: update as requested by Geliang - b81ee295d042: tg:msg: update as requested by Geliang - e399a35fdc24: tg:msg: update as requested by Geliang - Results: 6d7665253eef..8ef79d8e4dfb (export) Tests are now in progress: https://cirrus-ci.com/github/multipath-tcp/mptcp_net-next/export/20221214T173325 Cheers, Matt -- Tessares | Belgium | Hybrid Access Solutions www.tessares.net
On Fri, Nov 18, 2022 at 03:52:38PM +0100, Matthieu Baerts wrote: > Hi Geliang, Mat, > > On 11/11/2022 08:47, Geliang Tang wrote: > > v19: > > - update patch 1. > > - split "BPF redundant scheduler" into two parts. > > - rebased on "export/20221111T055536". > > > > Geliang Tang (9): > > mptcp: refactor push_pending logic > > mptcp: drop last_snd and MPTCP_RESET_SCHEDULER > > mptcp: add sched_data_set_contexts helper > > Squash to "mptcp: add struct mptcp_sched_ops" > > Squash to "bpf: Add bpf_mptcp_sched_ops" > > Squash to "bpf: Add bpf_mptcp_sched_kfunc_set" > > Squash to "selftests/bpf: Add bpf_first scheduler" > > Squash to "selftests/bpf: Add bpf_bkup scheduler" > > Squash to "selftests/bpf: Add bpf_rr scheduler" > > Thank you for the patches and the reviews! > > I just applied them (+ an additional squash-to patch) in our tree (feat. > for other trees (bpf)) with Mat's RvB tag. > > Patches 1/9 and 2/9 have been added at the beginning. Patch 3/9 depends > on "mptcp: add struct mptcp_sched_ops" and it has been applied just > before "bpf: Add bpf_mptcp_sched_ops" as mentioned by Geliang. > > Please also note that patch 5/9 has been squashed in "selftests/bpf: Add > mptcp sched structs" instead of "bpf: Add bpf_mptcp_sched_ops. Do not > hesitate to tell me if something is not OK! Yes, it should be squashed in "selftests/bpf: Add mptcp sched structs". Thanks for fix this. -Geliang > > New patches for t/upstream: > - 602fba0955d1: mptcp: refactor push_pending logic > - 343f8eed9abb: mptcp: drop last_snd and MPTCP_RESET_SCHEDULER > - Results: 69720c6cd168..ac857086fdb8 (export) > > - 65e9504361f6: mptcp: add sched_data_set_contexts helper > - Results: ac857086fdb8..ae9c4d4cf58f (export) > > - 82721c73112e: "squashed" patch 4/9 in "mptcp: add struct mptcp_sched_ops" > - a7c2367dd1d2: "squashed" patch 5/9 in "selftests/bpf: Add mptcp sched > structs" > - ee74ff707e4b: "squashed" patch 6/9 in "bpf: Add bpf_mptcp_sched_kfunc_set" > - 813537758eb5: "squashed" patch 7/9 in "selftests/bpf: Add bpf_first > scheduler" > - 762c5b194975: "squashed" patch 8/9 in "selftests/bpf: Add bpf_bkup > scheduler" > - 5db53c2d3ef6: "squashed" patch 9/9 in "selftests/bpf: Add bpf_rr > scheduler" > - Results: ae9c4d4cf58f..0814e9ff0a94 (export) > > - 7b3058027867: "squashed" in "mptcp: refactor push_pending logic" > - Results: 0814e9ff0a94..d98411bcedd1 (export) > > Tests are now in progress: > > https://cirrus-ci.com/github/multipath-tcp/mptcp_net-next/export/20221118T145003 > > Cheers, > Matt > -- > Tessares | Belgium | Hybrid Access Solutions > www.tessares.net
On Fri, 11 Nov 2022, Geliang Tang wrote: > v19: > - update patch 1. > - split "BPF redundant scheduler" into two parts. > - rebased on "export/20221111T055536". > Thanks Geliang. I think v19 (part 1) looks ok for the export branch. simult_flows.sh was slightly faster (small sample size :) ) on my VM, for what it's worth. Looks like the first three patches go at the beginning of the "features net-next-next" section, correct? Reviewed-by: Mat Martineau <mathew.j.martineau@linux.intel.com> > Geliang Tang (9): > mptcp: refactor push_pending logic > mptcp: drop last_snd and MPTCP_RESET_SCHEDULER > mptcp: add sched_data_set_contexts helper > Squash to "mptcp: add struct mptcp_sched_ops" > Squash to "bpf: Add bpf_mptcp_sched_ops" > Squash to "bpf: Add bpf_mptcp_sched_kfunc_set" > Squash to "selftests/bpf: Add bpf_first scheduler" > Squash to "selftests/bpf: Add bpf_bkup scheduler" > Squash to "selftests/bpf: Add bpf_rr scheduler" > > include/net/mptcp.h | 6 +- > net/mptcp/bpf.c | 1 + > net/mptcp/pm.c | 9 +- > net/mptcp/pm_netlink.c | 3 - > net/mptcp/protocol.c | 161 +++++++++--------- > net/mptcp/protocol.h | 1 - > net/mptcp/sched.c | 21 ++- > tools/testing/selftests/bpf/bpf_tcp_helpers.h | 8 +- > .../selftests/bpf/progs/mptcp_bpf_bkup.c | 10 +- > .../selftests/bpf/progs/mptcp_bpf_first.c | 10 +- > .../selftests/bpf/progs/mptcp_bpf_rr.c | 10 +- > 11 files changed, 143 insertions(+), 97 deletions(-) > > -- > 2.35.3 > > > -- Mat Martineau Intel
On Tue, Nov 15, 2022 at 04:41:15PM -0800, Mat Martineau wrote: > On Fri, 11 Nov 2022, Geliang Tang wrote: > > > v19: > > - update patch 1. > > - split "BPF redundant scheduler" into two parts. > > - rebased on "export/20221111T055536". > > > > Thanks Geliang. > > I think v19 (part 1) looks ok for the export branch. simult_flows.sh was > slightly faster (small sample size :) ) on my VM, for what it's worth. > > Looks like the first three patches go at the beginning of the "features > net-next-next" section, correct? Yes, the first two patches ("mptcp: refactor push_pending logic" and "mptcp: drop last_snd and MPTCP_RESET_SCHEDULER") go at the beginning of the "features net-next-next" section. But the third one "mptcp: add sched_data_set_contexts helper" should be inserted between the commits "mptcp: add scheduled in mptcp_subflow_context" and "bpf: Add bpf_mptcp_sched_ops". Thanks, -Geliang > > Reviewed-by: Mat Martineau <mathew.j.martineau@linux.intel.com> > > > Geliang Tang (9): > > mptcp: refactor push_pending logic > > mptcp: drop last_snd and MPTCP_RESET_SCHEDULER > > mptcp: add sched_data_set_contexts helper > > Squash to "mptcp: add struct mptcp_sched_ops" > > Squash to "bpf: Add bpf_mptcp_sched_ops" > > Squash to "bpf: Add bpf_mptcp_sched_kfunc_set" > > Squash to "selftests/bpf: Add bpf_first scheduler" > > Squash to "selftests/bpf: Add bpf_bkup scheduler" > > Squash to "selftests/bpf: Add bpf_rr scheduler" > > > > include/net/mptcp.h | 6 +- > > net/mptcp/bpf.c | 1 + > > net/mptcp/pm.c | 9 +- > > net/mptcp/pm_netlink.c | 3 - > > net/mptcp/protocol.c | 161 +++++++++--------- > > net/mptcp/protocol.h | 1 - > > net/mptcp/sched.c | 21 ++- > > tools/testing/selftests/bpf/bpf_tcp_helpers.h | 8 +- > > .../selftests/bpf/progs/mptcp_bpf_bkup.c | 10 +- > > .../selftests/bpf/progs/mptcp_bpf_first.c | 10 +- > > .../selftests/bpf/progs/mptcp_bpf_rr.c | 10 +- > > 11 files changed, 143 insertions(+), 97 deletions(-) > > > > -- > > 2.35.3 > > > > > > > > -- > Mat Martineau > Intel
© 2016 - 2024 Red Hat, Inc.