All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mat Martineau <mathew.j.martineau@linux.intel.com>
To: Geliang Tang <geliang.tang@suse.com>
Cc: mptcp@lists.linux.dev
Subject: Re: [PATCH mptcp-next v25 0/5] BPF redundant scheduler, part 2
Date: Mon, 19 Dec 2022 17:39:59 -0800 (PST)	[thread overview]
Message-ID: <a94575d7-c444-c011-e49f-e538a61a0481@linux.intel.com> (raw)
In-Reply-To: <cover.1671107241.git.geliang.tang@suse.com>

On Thu, 15 Dec 2022, Geliang Tang wrote:

> v25:
> - update calls to mptcp_subflow_set_scheduled(subflow, false) in
>  __mptcp_subflow_push_pending().
> - rebased on "tag: export/20221215T054923"
>

Thanks for all the work on this Geliang. I think it's ok to add this to 
the export branch for further testing, and any fixes/updates can be 
squashed if needed.

I do have feedback on one line to delete in patch 2 (see that reply). Not 
sure if Matthieu needs a squash-to patch for that or can update when 
applying.

Should this be applied after the bpf_rr patches, or earlier in the 
"features other trees" section of the export branch?

Reviewed-by: Mat Martineau <mathew.j.martineau@linux.intel.com>


- Mat

> v24:
> - rename push to keep_pushing
> - check the scheduled bit on ssk first
> - drop delegate flag
> - depends on "mptcp: use msk_owned_by_me helper"
>
> v23:
> - patch 2 and 3: clear subflow->scheduled flag on the error paths.
>
> v22:
> - update patch 2 as Mat suggested.
> - patch 4 and 5 in v21 will send later.
>
> v21:
> - address Mat's comments in v20.
> - redundant sends on retransmit code path.
>
> v20:
> - rebased on "Squash to "mptcp: refactor push_pending logic" v19"
>
> v19:
> - patch 1, use 'continue' instead of 'goto again'.
>
> v18:
> - some cleanups
> - update commit logs.
>
> v17:
> - address to Mat's comments in v16
> - rebase to export/20221108T055508.
>
> v16:
> - keep last_snd and snd_burst in struct mptcp_sock.
> - drop "mptcp: register default scheduler".
> - drop "mptcp: add scheduler wrappers", move it into "mptcp: use
> get_send wrapper" and "mptcp: use get_retrans wrapper".
> - depends on 'v2, Revert "mptcp: add get_subflow wrappers" - fix
> divide error in mptcp_subflow_get_send'
>
> v15:
> 1: "refactor push pending" v10
> 2-11: "register default scheduler" v3
>  - move last_snd and snd_burst into struct mptcp_sched_ops
> 12-19: "BPF redundant scheduler" v15
>  - split "use get_send wrapper" into two patches
> - rebase to export/20221021T061837.
>
> v14:
> - add "mptcp: refactor push_pending logic" v10 as patch 1
> - drop update_first_pending in patch 4
> - drop update_already_sent in patch 5
>
> v13:
> - deponds on "refactor push pending" v9.
> - Simply 'goto out' after invoking mptcp_subflow_delegate in patch 1.
> - All selftests (mptcp_connect.sh, mptcp_join.sh and simult_flows.sh) passed.
>
> v12:
> - fix WARN_ON_ONCE(reuse_skb) and WARN_ON_ONCE(!msk->recovery) errors
>   in kernel logs.
>
> v11:
> - address to Mat's comments in v10.
> - rebase to export/20220908T063452
>
> v10:
> - send multiple dfrags in __mptcp_push_pending().
>
> v9:
> - drop the extra *err paramenter of mptcp_sched_get_send() as Florian
>   suggested.
>
> v8:
> - update __mptcp_push_pending(), send the same data on each subflow.
> - update __mptcp_retrans, track the max sent data.
> = add a new patch.
>
> v7:
> - drop redundant flag in v6
> - drop __mptcp_subflows_push_pending in v6
> - update redundant subflows support in __mptcp_push_pending
> - update redundant subflows support in __mptcp_retrans
>
> v6:
> - Add redundant flag for struct mptcp_sched_ops.
> - add a dedicated function __mptcp_subflows_push_pending() to deal with
>   redundat subflows push pending.
>
> v5:
> - address to Paolo's comment, keep the optimization to
> mptcp_subflow_get_send() for the non eBPF case.
> - merge mptcp_sched_get_send() and __mptcp_sched_get_send() in v4 into one.
> - depends on "cleanups for bpf sched selftests".
>
> v4:
> - small cleanups in patch 1, 2.
> - add TODO in patch 3.
> - rebase patch 5 on 'cleanups for bpf sched selftests'.
>
> v3:
> - use new API.
> - fix the link failure tests issue mentioned in ("https://patchwork.kernel.org/project/mptcp/cover/cover.1653033459.git.geliang.tang@suse.com/").
>
> v2:
> - add MPTCP_SUBFLOWS_MAX limit to avoid infinite loops when the
>   scheduler always sets call_again to true.
> - track the largest copied amount.
> - deal with __mptcp_subflow_push_pending() and the retransmit loop.
> - depends on "BPF round-robin scheduler" v14.
>
> v1:
>
> Implements the redundant BPF MPTCP scheduler, which sends all packets
> redundantly on all available subflows.
>
> Geliang Tang (5):
>  mptcp: add scheduler wrappers
>  mptcp: use get_send wrapper
>  mptcp: use get_retrans wrapper
>  selftests/bpf: Add bpf_red scheduler
>  selftests/bpf: Add bpf_red test
>
> net/mptcp/protocol.c                          | 187 +++++++++++-------
> net/mptcp/protocol.h                          |   4 +
> net/mptcp/sched.c                             |  69 +++++++
> .../testing/selftests/bpf/prog_tests/mptcp.c  |  34 ++++
> .../selftests/bpf/progs/mptcp_bpf_red.c       |  45 +++++
> 5 files changed, 264 insertions(+), 75 deletions(-)
> create mode 100644 tools/testing/selftests/bpf/progs/mptcp_bpf_red.c
>
> -- 
> 2.35.3
>
>
>

--
Mat Martineau
Intel

  parent reply	other threads:[~2022-12-20  1:40 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-12-15 12:32 [PATCH mptcp-next v25 0/5] BPF redundant scheduler, part 2 Geliang Tang
2022-12-15 12:32 ` [PATCH mptcp-next v25 1/5] mptcp: add scheduler wrappers Geliang Tang
2022-12-15 12:32 ` [PATCH mptcp-next v25 2/5] mptcp: use get_send wrapper Geliang Tang
2022-12-20  1:44   ` Mat Martineau
2022-12-15 12:32 ` [PATCH mptcp-next v25 3/5] mptcp: use get_retrans wrapper Geliang Tang
2022-12-15 12:32 ` [PATCH mptcp-next v25 4/5] selftests/bpf: Add bpf_red scheduler Geliang Tang
2022-12-15 12:32 ` [PATCH mptcp-next v25 5/5] selftests/bpf: Add bpf_red test Geliang Tang
2022-12-20  2:52   ` selftests/bpf: Add bpf_red test: Tests Results MPTCP CI
2022-12-20  1:39 ` Mat Martineau [this message]
2022-12-20  3:49   ` [PATCH mptcp-next v25 0/5] BPF redundant scheduler, part 2 Geliang Tang
2022-12-21 14:07 ` Matthieu Baerts

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=a94575d7-c444-c011-e49f-e538a61a0481@linux.intel.com \
    --to=mathew.j.martineau@linux.intel.com \
    --cc=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.