From: Mat Martineau <martineau@kernel.org>
To: Matthieu Baerts <matthieu.baerts@tessares.net>
Cc: Geliang Tang <geliang.tang@suse.com>, mptcp@lists.linux.dev
Subject: Re: [PATCH mptcp-next v2 08/13] mptcp: add subflow_set_stale helper
Date: Fri, 28 Jul 2023 11:23:41 -0700 (PDT) [thread overview]
Message-ID: <b2e609ac-d848-88bf-cca2-e635d7ca5ec2@kernel.org> (raw)
In-Reply-To: <b9ca829c-790f-82bf-f0a9-c0d81792ce01@tessares.net>
[-- Attachment #1: Type: text/plain, Size: 1769 bytes --]
On Fri, 28 Jul 2023, Matthieu Baerts wrote:
> Hi Mat,
>
> On 28/07/2023 03:30, Mat Martineau wrote:
>> 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!
>
> If I'm not mistaken, the 'stale' logic is currently used by the core not
> to use a subflow (when calling mptcp_subflow_active()). A packet
> scheduler might want to proactively mark a subflow as stall, e.g. if the
> latency is too high, too many retransmissions, etc. and just set the
> subflow as stale.
>
> But maybe we cannot do that because the core will reset stale in some
> conditions? Maybe we need something similar but not reusing "stale"?
>
That's what I'm thinking, yes. Individual BPF schedulers could create
their own "skip this subflow if possible" variables in their custom
sk_storage structs, and those would not have the complex interactions with
stale_count and stale_rcv_tstamp.
- Mat
next prev parent reply other threads:[~2023-07-28 18:23 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
2023-07-28 15:55 ` Matthieu Baerts
2023-07-28 18:23 ` Mat Martineau [this message]
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=b2e609ac-d848-88bf-cca2-e635d7ca5ec2@kernel.org \
--to=martineau@kernel.org \
--cc=geliang.tang@suse.com \
--cc=matthieu.baerts@tessares.net \
--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