From: Mat Martineau <martineau@kernel.org>
To: Geliang Tang <geliang.tang@suse.com>
Cc: mptcp@lists.linux.dev
Subject: Re: [PATCH mptcp-next v2 08/13] mptcp: add subflow_set_stale helper
Date: Thu, 27 Jul 2023 18:30:40 -0700 (PDT) [thread overview]
Message-ID: <f678a249-e191-05ca-012f-28811c520b51@kernel.org> (raw)
In-Reply-To: <94b445b3225d4f91e2d05cab0338c4367ecbabb4.1689650435.git.geliang.tang@suse.com>
On Tue, 18 Jul 2023, Geliang Tang wrote:
> Add mptcp_subflow_set_stale() helper.
>
I was trying to remember the use case for this. The closest thing I can
find is this:
=> the scheduler should be able to interact with the "stale" logic
we have in the upstream kernel: mark a subflow as stale / back
active.
from
https://lore.kernel.org/mptcp/dd4363e7-d057-97e8-0b5f-8570f39aa538@tessares.net/
I think that need is met by the change in patch 11 to export
mptcp_pm_subflow_chk_stale - if a particular scheduler wants to track some
stale-like metric, it can do so with its own sk_storage values. There's
also the matter of coordinating the values of stale_count and
stale_rcv_tstamp.
My suggestion is to drop patches 8, 9, and 10 unless there's a compelling
reason to allow a BPF scheduler to control this bit. If there's a need for
it please speak up!
- Mat
> Signed-off-by: Geliang Tang <geliang.tang@suse.com>
> ---
> net/mptcp/bpf.c | 1 +
> net/mptcp/protocol.h | 2 ++
> net/mptcp/sched.c | 6 ++++++
> 3 files changed, 9 insertions(+)
>
> diff --git a/net/mptcp/bpf.c b/net/mptcp/bpf.c
> index f388baf08d49..e6f94d5e22fb 100644
> --- a/net/mptcp/bpf.c
> +++ b/net/mptcp/bpf.c
> @@ -146,6 +146,7 @@ struct bpf_struct_ops bpf_mptcp_sched_ops = {
>
> BTF_SET8_START(bpf_mptcp_sched_kfunc_ids)
> BTF_ID_FLAGS(func, mptcp_subflow_set_scheduled)
> +BTF_ID_FLAGS(func, mptcp_subflow_set_stale)
> BTF_ID_FLAGS(func, mptcp_sched_data_set_contexts)
> BTF_ID_FLAGS(func, mptcp_subflow_ctx_by_pos)
> BTF_SET8_END(bpf_mptcp_sched_kfunc_ids)
> diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h
> index 1b4457c44fe8..78b3beeb7d7a 100644
> --- a/net/mptcp/protocol.h
> +++ b/net/mptcp/protocol.h
> @@ -662,6 +662,8 @@ int mptcp_init_sched(struct mptcp_sock *msk,
> void mptcp_release_sched(struct mptcp_sock *msk);
> void mptcp_subflow_set_scheduled(struct mptcp_subflow_context *subflow,
> bool scheduled);
> +void mptcp_subflow_set_stale(struct mptcp_subflow_context *subflow,
> + int stale);
> void mptcp_sched_data_set_contexts(const struct mptcp_sock *msk,
> struct mptcp_sched_data *data);
> struct mptcp_subflow_context *
> diff --git a/net/mptcp/sched.c b/net/mptcp/sched.c
> index a80cf0481edf..3f361e75e38c 100644
> --- a/net/mptcp/sched.c
> +++ b/net/mptcp/sched.c
> @@ -127,6 +127,12 @@ void mptcp_subflow_set_scheduled(struct mptcp_subflow_context *subflow,
> WRITE_ONCE(subflow->scheduled, scheduled);
> }
>
> +void mptcp_subflow_set_stale(struct mptcp_subflow_context *subflow,
> + int stale)
> +{
> + subflow->stale = stale;
> +}
> +
> void mptcp_sched_data_set_contexts(const struct mptcp_sock *msk,
> struct mptcp_sched_data *data)
> {
> --
> 2.35.3
>
>
>
next prev parent reply other threads:[~2023-07-28 1:30 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-18 3:36 [PATCH mptcp-next v2 00/13] BPF packet scheduler updates part 2 Geliang Tang
2023-07-18 3:36 ` [PATCH mptcp-next v2 01/13] Squash to "bpf: Add bpf_mptcp_sched_ops" Geliang Tang
2023-07-18 3:36 ` [PATCH mptcp-next v2 02/13] Squash to "selftests/bpf: Add bpf scheduler test" Geliang Tang
2023-07-18 3:36 ` [PATCH mptcp-next v2 03/13] Squash to "selftests/bpf: Add bpf_first test" Geliang Tang
2023-07-18 3:36 ` [PATCH mptcp-next v2 04/13] Squash to "selftests/bpf: Add bpf_bkup scheduler" Geliang Tang
2023-07-18 3:36 ` [PATCH mptcp-next v2 05/13] Squash to "selftests/bpf: Add bpf_bkup test" Geliang Tang
2023-07-18 3:36 ` [PATCH mptcp-next v2 06/13] Squash to "selftests/bpf: Add bpf_rr test" Geliang Tang
2023-07-18 3:36 ` [PATCH mptcp-next v2 07/13] Squash to "selftests/bpf: Add bpf_red test" Geliang Tang
2023-07-18 3:36 ` [PATCH mptcp-next v2 08/13] mptcp: add subflow_set_stale helper Geliang Tang
2023-07-28 1:30 ` Mat Martineau [this message]
2023-07-28 15:55 ` Matthieu Baerts
2023-07-28 18:23 ` Mat Martineau
2023-07-18 3:36 ` [PATCH mptcp-next v2 09/13] selftests/bpf: Add bpf_stale scheduler Geliang Tang
2023-07-18 3:36 ` [PATCH mptcp-next v2 10/13] selftests/bpf: Add bpf_stale test Geliang Tang
2023-07-18 3:36 ` [PATCH mptcp-next v2 11/13] bpf: Export more bpf_burst related functions Geliang Tang
2023-07-28 1:33 ` Mat Martineau
2023-07-18 3:36 ` [PATCH mptcp-next v2 12/13] selftests/bpf: Add bpf_burst scheduler Geliang Tang
2023-07-18 3:36 ` [PATCH mptcp-next v2 13/13] selftests/bpf: Add bpf_burst test Geliang Tang
2023-07-18 5:01 ` selftests/bpf: Add bpf_burst test: Tests Results MPTCP CI
2023-07-28 2:56 ` MPTCP CI
2023-07-28 0:53 ` [PATCH mptcp-next v2 00/13] BPF packet scheduler updates part 2 Mat Martineau
2023-07-28 16:02 ` 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=f678a249-e191-05ca-012f-28811c520b51@kernel.org \
--to=martineau@kernel.org \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox