All of lore.kernel.org
 help / color / mirror / Atom feed
From: Geliang Tang <geliang.tang@suse.com>
To: mptcp@lists.linux.dev
Cc: Geliang Tang <geliang.tang@suse.com>
Subject: [PATCH mptcp-next v10 00/13] BPF packet scheduler updates part 1
Date: Mon, 26 Jun 2023 10:23:01 +0800	[thread overview]
Message-ID: <cover.1687746021.git.geliang.tang@suse.com> (raw)

v10:
 - add mptcp_storage map type.
 - update scheduler API.

v9:
 - merge 'Squash to "BPF packet scheduler updates v8"' and 'mptcp:
 make the contexts array of sched_data invisible in BPF'

v8:
 address Paolo's comments in v7:
 - add sched_data into mptcp_sock as new field, not an pointer.
 - drop rename __mptcp_set_timeout, export mptcp_set_timeout into BPF
   context instead.
 - add a comment in bpf_burst to explan why not use
   "ssk = send_info[SSK_MODE_ACTIVE].ssk;" directly.
 - move mptcp_subflow_tcp_sock into bpf_tcp_helpers.h.

v7:
 - drop more last_snd, only set it in bpf_rr.
 - 1-10: save sched_data at mptcp_sock, for issues #342
 - 11-16: add bpf_burst scheduler
 - 17-19: add bpf_stale scheduler, for issues #349

v6:
 - Only update patches 14, 15. Add a helper bpf_mptcp_subflow_ctx, fix
   bug in bpf_burst_get_retrans().

v5:
 - 1-9: save sched_data at mptcp_sock, for issues #342
 - 10-15: add bpf_burst scheduler
 - 16-18: add bpf_stale scheduler, for issues #349

v4:
 - drop "mptcp: add three helpers for bpf_burst", implement the helpers
   in the bpf context directly.

v3:
 - address Florian's comments in v2.
 - split into three more patches.

v2:
 - fix this error reported by CI:
KASAN: slab-use-after-free in __mptcp_close_ssk (net/mptcp/protocol.c:2461)
 - add bpf burst scheduler.

This patchset adds sched_data pointer into mptcp_sock to to save some
data at MPTCP and subflows levels.

With these changes, the old patch "mptcp: register default scheduler" in
[1] now works.

https://patchwork.kernel.org/project/mptcp/cover/cover.1665753926.git.geliang.tang@suse.com/ [1]
Closes: https://github.com/multipath-tcp/mptcp_net-next/issues/342
Closes: https://github.com/multipath-tcp/mptcp_net-next/issues/349

Geliang Tang (13):
  Squash to "mptcp: drop last_snd and MPTCP_RESET_SCHEDULER"
  Squash to "mptcp: add struct mptcp_sched_ops"
  Squash to "mptcp: add sched_data_set_contexts helper"
  mptcp: register default scheduler
  Squash to "bpf: Add bpf_mptcp_sched_ops"
  Squash to "bpf: Add bpf_mptcp_sched_kfunc_set"
  bpf: Add mptcp_storage map type
  bpf: Add mptcp_storage helpers
  Squash to "selftests/bpf: Add mptcp sched structs"
  Squash to "selftests/bpf: Add bpf_first scheduler"
  Squash to "selftests/bpf: Add bpf_bkup scheduler"
  Squash to "selftests/bpf: Add bpf_rr scheduler"
  Squash to "selftests/bpf: Add bpf_red scheduler"

 include/linux/bpf.h                           |   2 +
 include/linux/bpf_types.h                     |   1 +
 include/linux/btf_ids.h                       |   1 +
 include/net/mptcp.h                           |  11 +-
 include/uapi/linux/bpf.h                      |  40 +++
 kernel/bpf/helpers.c                          |   4 +
 kernel/bpf/syscall.c                          |   6 +-
 kernel/bpf/verifier.c                         |  14 +-
 net/mptcp/bpf.c                               | 245 ++++++++++++++++++
 net/mptcp/protocol.c                          |  10 +-
 net/mptcp/protocol.h                          |   7 +-
 net/mptcp/sched.c                             |  46 +++-
 tools/include/uapi/linux/bpf.h                |  40 +++
 tools/lib/bpf/libbpf.c                        |   1 +
 tools/lib/bpf/libbpf_probes.c                 |   1 +
 tools/testing/selftests/bpf/bpf_tcp_helpers.h |  20 +-
 .../selftests/bpf/progs/mptcp_bpf_bkup.c      |  17 +-
 .../selftests/bpf/progs/mptcp_bpf_first.c     |   8 +-
 .../selftests/bpf/progs/mptcp_bpf_red.c       |  12 +-
 .../selftests/bpf/progs/mptcp_bpf_rr.c        |  43 ++-
 20 files changed, 475 insertions(+), 54 deletions(-)

-- 
2.35.3


             reply	other threads:[~2023-06-26  2:23 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-06-26  2:23 Geliang Tang [this message]
2023-06-26  2:23 ` [PATCH mptcp-next v10 01/13] Squash to "mptcp: drop last_snd and MPTCP_RESET_SCHEDULER" Geliang Tang
2023-06-26  2:23 ` [PATCH mptcp-next v10 02/13] Squash to "mptcp: add struct mptcp_sched_ops" Geliang Tang
2023-06-26  9:37   ` Geliang Tang
2023-06-26  2:23 ` [PATCH mptcp-next v10 03/13] Squash to "mptcp: add sched_data_set_contexts helper" Geliang Tang
2023-06-26  2:23 ` [PATCH mptcp-next v10 04/13] mptcp: register default scheduler Geliang Tang
2023-06-26  2:23 ` [PATCH mptcp-next v10 05/13] Squash to "bpf: Add bpf_mptcp_sched_ops" Geliang Tang
2023-06-26  2:23 ` [PATCH mptcp-next v10 06/13] Squash to "bpf: Add bpf_mptcp_sched_kfunc_set" Geliang Tang
2023-06-26  2:23 ` [PATCH mptcp-next v10 07/13] bpf: Add mptcp_storage map type Geliang Tang
2023-06-26  2:23 ` [PATCH mptcp-next v10 08/13] bpf: Add mptcp_storage helpers Geliang Tang
2023-06-26  9:40   ` Geliang Tang
2023-06-26  2:23 ` [PATCH mptcp-next v10 09/13] Squash to "selftests/bpf: Add mptcp sched structs" Geliang Tang
2023-06-26  2:23 ` [PATCH mptcp-next v10 10/13] Squash to "selftests/bpf: Add bpf_first scheduler" Geliang Tang
2023-06-26  2:23 ` [PATCH mptcp-next v10 11/13] Squash to "selftests/bpf: Add bpf_bkup scheduler" Geliang Tang
2023-06-26  2:23 ` [PATCH mptcp-next v10 12/13] Squash to "selftests/bpf: Add bpf_rr scheduler" Geliang Tang
2023-06-26  2:23 ` [PATCH mptcp-next v10 13/13] Squash to "selftests/bpf: Add bpf_red scheduler" Geliang Tang
2023-06-26  2:57   ` Squash to "selftests/bpf: Add bpf_red scheduler": Build Failure MPTCP CI
2023-06-26  3:07   ` Squash to "selftests/bpf: Add bpf_red scheduler": Tests Results MPTCP CI
2023-06-26  9:19     ` Matthieu Baerts
2023-06-26  9:38   ` Squash to "selftests/bpf: Add bpf_red scheduler": Build Failure MPTCP CI
2023-06-26 10:14   ` Squash to "selftests/bpf: Add bpf_red scheduler": Tests Results MPTCP CI

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=cover.1687746021.git.geliang.tang@suse.com \
    --to=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.