All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH mptcp-next 0/9] Update scheduler refactor commits
@ 2023-08-15  6:29 Geliang Tang
  2023-08-15  6:29 ` [PATCH mptcp-next 1/9] Squash to "mptcp: add struct mptcp_sched_ops" Geliang Tang
                   ` (9 more replies)
  0 siblings, 10 replies; 14+ messages in thread
From: Geliang Tang @ 2023-08-15  6:29 UTC (permalink / raw)
  To: mptcp; +Cc: Geliang Tang

Update scheduler refactor commits:
 - drop data_init interface.
 - call mptcp_sched_default_get_subflow in get_send/retrans.
 - update commit logs.

Geliang Tang (9):
  Squash to "mptcp: add struct mptcp_sched_ops"
  Squash to "mptcp: add scheduler wrappers"
  Squash to "mptcp: register default scheduler"
  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"
  Squash to "selftests/bpf: Add bpf_burst scheduler"

 include/net/mptcp.h                           |  4 +--
 net/mptcp/sched.c                             | 36 ++++---------------
 tools/testing/selftests/bpf/bpf_tcp_helpers.h |  4 +--
 .../selftests/bpf/progs/mptcp_bpf_bkup.c      | 11 ++----
 .../selftests/bpf/progs/mptcp_bpf_burst.c     | 15 +++-----
 .../selftests/bpf/progs/mptcp_bpf_first.c     | 10 ++----
 .../selftests/bpf/progs/mptcp_bpf_red.c       |  9 ++---
 .../selftests/bpf/progs/mptcp_bpf_rr.c        | 11 ++----
 8 files changed, 23 insertions(+), 77 deletions(-)

-- 
2.35.3


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [PATCH mptcp-next 1/9] Squash to "mptcp: add struct mptcp_sched_ops"
  2023-08-15  6:29 [PATCH mptcp-next 0/9] Update scheduler refactor commits Geliang Tang
@ 2023-08-15  6:29 ` Geliang Tang
  2023-08-15  6:29 ` [PATCH mptcp-next 2/9] Squash to "mptcp: add scheduler wrappers" Geliang Tang
                   ` (8 subsequent siblings)
  9 siblings, 0 replies; 14+ messages in thread
From: Geliang Tang @ 2023-08-15  6:29 UTC (permalink / raw)
  To: mptcp; +Cc: Geliang Tang

Please update the commit log:

'''
This patch defines struct mptcp_sched_ops, which has three struct members,
name, owner and list, and four function pointers: init(), release() and
get_subflow().

The scheduler function get_subflow() have a struct mptcp_sched_data
parameter, which contains a reinject flag for retrans or not, a subflows
number 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.
'''

Signed-off-by: Geliang Tang <geliang.tang@suse.com>
---
 include/net/mptcp.h | 4 +---
 net/mptcp/sched.c   | 2 +-
 2 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/include/net/mptcp.h b/include/net/mptcp.h
index ba0e1ee68a05..fb996124b3d5 100644
--- a/include/net/mptcp.h
+++ b/include/net/mptcp.h
@@ -106,10 +106,8 @@ struct mptcp_sched_data {
 };
 
 struct mptcp_sched_ops {
-	void (*data_init)(struct mptcp_sock *msk,
-			  struct mptcp_sched_data *data);
 	int (*get_subflow)(struct mptcp_sock *msk,
-			   const struct mptcp_sched_data *data);
+			   struct mptcp_sched_data *data);
 
 	char			name[MPTCP_SCHED_NAME_MAX];
 	struct module		*owner;
diff --git a/net/mptcp/sched.c b/net/mptcp/sched.c
index 4d81d0c1c096..049c94678d9b 100644
--- a/net/mptcp/sched.c
+++ b/net/mptcp/sched.c
@@ -59,7 +59,7 @@ struct mptcp_sched_ops *mptcp_sched_find(const char *name)
 
 int mptcp_register_scheduler(struct mptcp_sched_ops *sched)
 {
-	if (!sched->data_init || !sched->get_subflow)
+	if (!sched->get_subflow)
 		return -EINVAL;
 
 	spin_lock(&mptcp_sched_list_lock);
-- 
2.35.3


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH mptcp-next 2/9] Squash to "mptcp: add scheduler wrappers"
  2023-08-15  6:29 [PATCH mptcp-next 0/9] Update scheduler refactor commits Geliang Tang
  2023-08-15  6:29 ` [PATCH mptcp-next 1/9] Squash to "mptcp: add struct mptcp_sched_ops" Geliang Tang
@ 2023-08-15  6:29 ` Geliang Tang
  2023-08-15  6:29 ` [PATCH mptcp-next 3/9] Squash to "mptcp: register default scheduler" Geliang Tang
                   ` (7 subsequent siblings)
  9 siblings, 0 replies; 14+ messages in thread
From: Geliang Tang @ 2023-08-15  6:29 UTC (permalink / raw)
  To: mptcp; +Cc: Geliang Tang

Please update the commit log:

'''
This patch defines two packet scheduler wrappers mptcp_sched_get_send()
and mptcp_sched_get_retrans(), invoke get_subflow() of msk->sched in
them.

Set data->reinject to true in mptcp_sched_get_retrans(), set it false in
mptcp_sched_get_send().

If msk->sched is NULL, use default functions mptcp_subflow_get_send()
and mptcp_subflow_get_retrans() to send data.
'''

Signed-off-by: Geliang Tang <geliang.tang@suse.com>
---
 net/mptcp/sched.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/net/mptcp/sched.c b/net/mptcp/sched.c
index 049c94678d9b..31defb8c4e30 100644
--- a/net/mptcp/sched.c
+++ b/net/mptcp/sched.c
@@ -161,7 +161,6 @@ int mptcp_sched_get_send(struct mptcp_sock *msk)
 	}
 
 	data.reinject = false;
-	msk->sched->data_init(msk, &data);
 	return msk->sched->get_subflow(msk, &data);
 }
 
@@ -192,7 +191,6 @@ int mptcp_sched_get_retrans(struct mptcp_sock *msk)
 	}
 
 	data.reinject = true;
-	msk->sched->data_init(msk, &data);
 	return msk->sched->get_subflow(msk, &data);
 }
 
-- 
2.35.3


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH mptcp-next 3/9] Squash to "mptcp: register default scheduler"
  2023-08-15  6:29 [PATCH mptcp-next 0/9] Update scheduler refactor commits Geliang Tang
  2023-08-15  6:29 ` [PATCH mptcp-next 1/9] Squash to "mptcp: add struct mptcp_sched_ops" Geliang Tang
  2023-08-15  6:29 ` [PATCH mptcp-next 2/9] Squash to "mptcp: add scheduler wrappers" Geliang Tang
@ 2023-08-15  6:29 ` Geliang Tang
  2023-08-15  6:29 ` [PATCH mptcp-next 4/9] Squash to "selftests/bpf: Add mptcp sched structs" Geliang Tang
                   ` (6 subsequent siblings)
  9 siblings, 0 replies; 14+ messages in thread
From: Geliang Tang @ 2023-08-15  6:29 UTC (permalink / raw)
  To: mptcp; +Cc: Geliang Tang

Please update the commit log:

'''
This patch defines the default packet scheduler mptcp_sched_default.
Register it in mptcp_sched_init(), which is invoked in mptcp_proto_init().
Skip deleting this default scheduler in mptcp_unregister_scheduler().

Set msk->sched to the default scheduler when the input parameter of
mptcp_init_sched() is NULL.

Invoke mptcp_sched_default_get_subflow in get_send() and get_retrans()
if the defaut scheduler is set or msk->sched is NULL.
'''

Signed-off-by: Geliang Tang <geliang.tang@suse.com>
---
 net/mptcp/sched.c | 32 +++++---------------------------
 1 file changed, 5 insertions(+), 27 deletions(-)

diff --git a/net/mptcp/sched.c b/net/mptcp/sched.c
index 31defb8c4e30..162604f3fbea 100644
--- a/net/mptcp/sched.c
+++ b/net/mptcp/sched.c
@@ -16,13 +16,8 @@
 static DEFINE_SPINLOCK(mptcp_sched_list_lock);
 static LIST_HEAD(mptcp_sched_list);
 
-static void mptcp_sched_default_data_init(struct mptcp_sock *msk,
-					  struct mptcp_sched_data *data)
-{
-}
-
 static int mptcp_sched_default_get_subflow(struct mptcp_sock *msk,
-					   const struct mptcp_sched_data *data)
+					   struct mptcp_sched_data *data)
 {
 	struct sock *ssk;
 
@@ -36,7 +31,6 @@ static int mptcp_sched_default_get_subflow(struct mptcp_sock *msk,
 }
 
 static struct mptcp_sched_ops mptcp_sched_default = {
-	.data_init	= mptcp_sched_default_data_init,
 	.get_subflow	= mptcp_sched_default_get_subflow,
 	.name		= "default",
 	.owner		= THIS_MODULE,
@@ -150,17 +144,9 @@ int mptcp_sched_get_send(struct mptcp_sock *msk)
 			return 0;
 	}
 
-	if (!msk->sched) {
-		struct sock *ssk;
-
-		ssk = mptcp_subflow_get_send(msk);
-		if (!ssk)
-			return -EINVAL;
-		mptcp_subflow_set_scheduled(mptcp_subflow_ctx(ssk), true);
-		return 0;
-	}
-
 	data.reinject = false;
+	if (msk->sched == &mptcp_sched_default || !msk->sched)
+		return mptcp_sched_default_get_subflow(msk, &data);
 	return msk->sched->get_subflow(msk, &data);
 }
 
@@ -180,17 +166,9 @@ int mptcp_sched_get_retrans(struct mptcp_sock *msk)
 			return 0;
 	}
 
-	if (!msk->sched) {
-		struct sock *ssk;
-
-		ssk = mptcp_subflow_get_retrans(msk);
-		if (!ssk)
-			return -EINVAL;
-		mptcp_subflow_set_scheduled(mptcp_subflow_ctx(ssk), true);
-		return 0;
-	}
-
 	data.reinject = true;
+	if (msk->sched == &mptcp_sched_default || !msk->sched)
+		return mptcp_sched_default_get_subflow(msk, &data);
 	return msk->sched->get_subflow(msk, &data);
 }
 
-- 
2.35.3


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH mptcp-next 4/9] Squash to "selftests/bpf: Add mptcp sched structs"
  2023-08-15  6:29 [PATCH mptcp-next 0/9] Update scheduler refactor commits Geliang Tang
                   ` (2 preceding siblings ...)
  2023-08-15  6:29 ` [PATCH mptcp-next 3/9] Squash to "mptcp: register default scheduler" Geliang Tang
@ 2023-08-15  6:29 ` Geliang Tang
  2023-08-15  6:29 ` [PATCH mptcp-next 5/9] Squash to "selftests/bpf: Add bpf_first scheduler" Geliang Tang
                   ` (5 subsequent siblings)
  9 siblings, 0 replies; 14+ messages in thread
From: Geliang Tang @ 2023-08-15  6:29 UTC (permalink / raw)
  To: mptcp; +Cc: Geliang Tang

Drop data_init interface.

Signed-off-by: Geliang Tang <geliang.tang@suse.com>
---
 tools/testing/selftests/bpf/bpf_tcp_helpers.h | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/tools/testing/selftests/bpf/bpf_tcp_helpers.h b/tools/testing/selftests/bpf/bpf_tcp_helpers.h
index 776c54948a4a..b687f91f2da8 100644
--- a/tools/testing/selftests/bpf/bpf_tcp_helpers.h
+++ b/tools/testing/selftests/bpf/bpf_tcp_helpers.h
@@ -253,10 +253,8 @@ struct mptcp_sched_ops {
 	void (*init)(struct mptcp_sock *msk);
 	void (*release)(struct mptcp_sock *msk);
 
-	void (*data_init)(struct mptcp_sock *msk,
-			  struct mptcp_sched_data *data);
 	int (*get_subflow)(struct mptcp_sock *msk,
-			   const struct mptcp_sched_data *data);
+			   struct mptcp_sched_data *data);
 	void *owner;
 };
 
-- 
2.35.3


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH mptcp-next 5/9] Squash to "selftests/bpf: Add bpf_first scheduler"
  2023-08-15  6:29 [PATCH mptcp-next 0/9] Update scheduler refactor commits Geliang Tang
                   ` (3 preceding siblings ...)
  2023-08-15  6:29 ` [PATCH mptcp-next 4/9] Squash to "selftests/bpf: Add mptcp sched structs" Geliang Tang
@ 2023-08-15  6:29 ` Geliang Tang
  2023-08-15  6:29 ` [PATCH mptcp-next 6/9] Squash to "selftests/bpf: Add bpf_bkup scheduler" Geliang Tang
                   ` (4 subsequent siblings)
  9 siblings, 0 replies; 14+ messages in thread
From: Geliang Tang @ 2023-08-15  6:29 UTC (permalink / raw)
  To: mptcp; +Cc: Geliang Tang

Drop data_init interface.

Signed-off-by: Geliang Tang <geliang.tang@suse.com>
---
 tools/testing/selftests/bpf/progs/mptcp_bpf_first.c | 10 ++--------
 1 file changed, 2 insertions(+), 8 deletions(-)

diff --git a/tools/testing/selftests/bpf/progs/mptcp_bpf_first.c b/tools/testing/selftests/bpf/progs/mptcp_bpf_first.c
index 3b6669d536df..ae0eced5b91f 100644
--- a/tools/testing/selftests/bpf/progs/mptcp_bpf_first.c
+++ b/tools/testing/selftests/bpf/progs/mptcp_bpf_first.c
@@ -16,15 +16,10 @@ void BPF_PROG(mptcp_sched_first_release, struct mptcp_sock *msk)
 {
 }
 
-void BPF_STRUCT_OPS(bpf_first_data_init, struct mptcp_sock *msk,
-		    struct mptcp_sched_data *data)
-{
-	mptcp_sched_data_set_contexts(msk, data);
-}
-
 int BPF_STRUCT_OPS(bpf_first_get_subflow, struct mptcp_sock *msk,
-		   const struct mptcp_sched_data *data)
+		   struct mptcp_sched_data *data)
 {
+	mptcp_sched_data_set_contexts(msk, data);
 	mptcp_subflow_set_scheduled(mptcp_subflow_ctx_by_pos(data, 0), true);
 	return 0;
 }
@@ -33,7 +28,6 @@ SEC(".struct_ops")
 struct mptcp_sched_ops first = {
 	.init		= (void *)mptcp_sched_first_init,
 	.release	= (void *)mptcp_sched_first_release,
-	.data_init	= (void *)bpf_first_data_init,
 	.get_subflow	= (void *)bpf_first_get_subflow,
 	.name		= "bpf_first",
 };
-- 
2.35.3


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH mptcp-next 6/9] Squash to "selftests/bpf: Add bpf_bkup scheduler"
  2023-08-15  6:29 [PATCH mptcp-next 0/9] Update scheduler refactor commits Geliang Tang
                   ` (4 preceding siblings ...)
  2023-08-15  6:29 ` [PATCH mptcp-next 5/9] Squash to "selftests/bpf: Add bpf_first scheduler" Geliang Tang
@ 2023-08-15  6:29 ` Geliang Tang
  2023-08-15  6:29 ` [PATCH mptcp-next 7/9] Squash to "selftests/bpf: Add bpf_rr scheduler" Geliang Tang
                   ` (3 subsequent siblings)
  9 siblings, 0 replies; 14+ messages in thread
From: Geliang Tang @ 2023-08-15  6:29 UTC (permalink / raw)
  To: mptcp; +Cc: Geliang Tang

Drop data_init interface.

Signed-off-by: Geliang Tang <geliang.tang@suse.com>
---
 tools/testing/selftests/bpf/progs/mptcp_bpf_bkup.c | 11 +++--------
 1 file changed, 3 insertions(+), 8 deletions(-)

diff --git a/tools/testing/selftests/bpf/progs/mptcp_bpf_bkup.c b/tools/testing/selftests/bpf/progs/mptcp_bpf_bkup.c
index 21493a3affdb..7e66ab839d14 100644
--- a/tools/testing/selftests/bpf/progs/mptcp_bpf_bkup.c
+++ b/tools/testing/selftests/bpf/progs/mptcp_bpf_bkup.c
@@ -16,17 +16,13 @@ void BPF_PROG(mptcp_sched_bkup_release, struct mptcp_sock *msk)
 {
 }
 
-void BPF_STRUCT_OPS(bpf_bkup_data_init, struct mptcp_sock *msk,
-		    struct mptcp_sched_data *data)
-{
-	mptcp_sched_data_set_contexts(msk, data);
-}
-
 int BPF_STRUCT_OPS(bpf_bkup_get_subflow, struct mptcp_sock *msk,
-		   const struct mptcp_sched_data *data)
+		   struct mptcp_sched_data *data)
 {
 	int nr = -1;
 
+	mptcp_sched_data_set_contexts(msk, data);
+
 	for (int i = 0; i < data->subflows && i < MPTCP_SUBFLOWS_MAX; i++) {
 		struct mptcp_subflow_context *subflow;
 
@@ -49,7 +45,6 @@ SEC(".struct_ops")
 struct mptcp_sched_ops bkup = {
 	.init		= (void *)mptcp_sched_bkup_init,
 	.release	= (void *)mptcp_sched_bkup_release,
-	.data_init	= (void *)bpf_bkup_data_init,
 	.get_subflow	= (void *)bpf_bkup_get_subflow,
 	.name		= "bpf_bkup",
 };
-- 
2.35.3


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH mptcp-next 7/9] Squash to "selftests/bpf: Add bpf_rr scheduler"
  2023-08-15  6:29 [PATCH mptcp-next 0/9] Update scheduler refactor commits Geliang Tang
                   ` (5 preceding siblings ...)
  2023-08-15  6:29 ` [PATCH mptcp-next 6/9] Squash to "selftests/bpf: Add bpf_bkup scheduler" Geliang Tang
@ 2023-08-15  6:29 ` Geliang Tang
  2023-08-15  6:29 ` [PATCH mptcp-next 8/9] Squash to "selftests/bpf: Add bpf_red scheduler" Geliang Tang
                   ` (2 subsequent siblings)
  9 siblings, 0 replies; 14+ messages in thread
From: Geliang Tang @ 2023-08-15  6:29 UTC (permalink / raw)
  To: mptcp; +Cc: Geliang Tang

Drop data_init interface.

Signed-off-by: Geliang Tang <geliang.tang@suse.com>
---
 tools/testing/selftests/bpf/progs/mptcp_bpf_rr.c | 11 +++--------
 1 file changed, 3 insertions(+), 8 deletions(-)

diff --git a/tools/testing/selftests/bpf/progs/mptcp_bpf_rr.c b/tools/testing/selftests/bpf/progs/mptcp_bpf_rr.c
index 8d9442996e0f..7a5c058d2408 100644
--- a/tools/testing/selftests/bpf/progs/mptcp_bpf_rr.c
+++ b/tools/testing/selftests/bpf/progs/mptcp_bpf_rr.c
@@ -28,14 +28,8 @@ void BPF_PROG(mptcp_sched_rr_release, struct mptcp_sock *msk)
 	bpf_sk_storage_delete(&mptcp_rr_map, msk);
 }
 
-void BPF_STRUCT_OPS(bpf_rr_data_init, struct mptcp_sock *msk,
-		    struct mptcp_sched_data *data)
-{
-	mptcp_sched_data_set_contexts(msk, data);
-}
-
 int BPF_STRUCT_OPS(bpf_rr_get_subflow, struct mptcp_sock *msk,
-		   const struct mptcp_sched_data *data)
+		   struct mptcp_sched_data *data)
 {
 	struct mptcp_subflow_context *subflow;
 	struct mptcp_rr_storage *ptr;
@@ -49,6 +43,8 @@ int BPF_STRUCT_OPS(bpf_rr_get_subflow, struct mptcp_sock *msk,
 
 	last_snd = ptr->last_snd;
 
+	mptcp_sched_data_set_contexts(msk, data);
+
 	for (int i = 0; i < data->subflows && i < MPTCP_SUBFLOWS_MAX; i++) {
 		subflow = mptcp_subflow_ctx_by_pos(data, i);
 		if (!last_snd || !subflow)
@@ -75,7 +71,6 @@ SEC(".struct_ops")
 struct mptcp_sched_ops rr = {
 	.init		= (void *)mptcp_sched_rr_init,
 	.release	= (void *)mptcp_sched_rr_release,
-	.data_init	= (void *)bpf_rr_data_init,
 	.get_subflow	= (void *)bpf_rr_get_subflow,
 	.name		= "bpf_rr",
 };
-- 
2.35.3


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH mptcp-next 8/9] Squash to "selftests/bpf: Add bpf_red scheduler"
  2023-08-15  6:29 [PATCH mptcp-next 0/9] Update scheduler refactor commits Geliang Tang
                   ` (6 preceding siblings ...)
  2023-08-15  6:29 ` [PATCH mptcp-next 7/9] Squash to "selftests/bpf: Add bpf_rr scheduler" Geliang Tang
@ 2023-08-15  6:29 ` Geliang Tang
  2023-08-15  6:29 ` [PATCH mptcp-next 9/9] Squash to "selftests/bpf: Add bpf_burst scheduler" Geliang Tang
  2023-08-17  0:07 ` [PATCH mptcp-next 0/9] Update scheduler refactor commits Mat Martineau
  9 siblings, 0 replies; 14+ messages in thread
From: Geliang Tang @ 2023-08-15  6:29 UTC (permalink / raw)
  To: mptcp; +Cc: Geliang Tang

Drop data_init interface.

Signed-off-by: Geliang Tang <geliang.tang@suse.com>
---
 tools/testing/selftests/bpf/progs/mptcp_bpf_red.c | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/tools/testing/selftests/bpf/progs/mptcp_bpf_red.c b/tools/testing/selftests/bpf/progs/mptcp_bpf_red.c
index 576e4acd1fa0..eeeec6250f64 100644
--- a/tools/testing/selftests/bpf/progs/mptcp_bpf_red.c
+++ b/tools/testing/selftests/bpf/progs/mptcp_bpf_red.c
@@ -16,15 +16,11 @@ void BPF_PROG(mptcp_sched_red_release, struct mptcp_sock *msk)
 {
 }
 
-void BPF_STRUCT_OPS(bpf_red_data_init, struct mptcp_sock *msk,
-		    struct mptcp_sched_data *data)
+int BPF_STRUCT_OPS(bpf_red_get_subflow, struct mptcp_sock *msk,
+		   struct mptcp_sched_data *data)
 {
 	mptcp_sched_data_set_contexts(msk, data);
-}
 
-int BPF_STRUCT_OPS(bpf_red_get_subflow, struct mptcp_sock *msk,
-		   const struct mptcp_sched_data *data)
-{
 	for (int i = 0; i < data->subflows && i < MPTCP_SUBFLOWS_MAX; i++) {
 		if (!mptcp_subflow_ctx_by_pos(data, i))
 			break;
@@ -39,7 +35,6 @@ SEC(".struct_ops")
 struct mptcp_sched_ops red = {
 	.init		= (void *)mptcp_sched_red_init,
 	.release	= (void *)mptcp_sched_red_release,
-	.data_init	= (void *)bpf_red_data_init,
 	.get_subflow	= (void *)bpf_red_get_subflow,
 	.name		= "bpf_red",
 };
-- 
2.35.3


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH mptcp-next 9/9] Squash to "selftests/bpf: Add bpf_burst scheduler"
  2023-08-15  6:29 [PATCH mptcp-next 0/9] Update scheduler refactor commits Geliang Tang
                   ` (7 preceding siblings ...)
  2023-08-15  6:29 ` [PATCH mptcp-next 8/9] Squash to "selftests/bpf: Add bpf_red scheduler" Geliang Tang
@ 2023-08-15  6:29 ` Geliang Tang
  2023-08-15  6:41   ` Squash to "selftests/bpf: Add bpf_burst scheduler": Build Failure MPTCP CI
  2023-08-15  7:44   ` Squash to "selftests/bpf: Add bpf_burst scheduler": Tests Results MPTCP CI
  2023-08-17  0:07 ` [PATCH mptcp-next 0/9] Update scheduler refactor commits Mat Martineau
  9 siblings, 2 replies; 14+ messages in thread
From: Geliang Tang @ 2023-08-15  6:29 UTC (permalink / raw)
  To: mptcp; +Cc: Geliang Tang

Drop data_init interface.

Signed-off-by: Geliang Tang <geliang.tang@suse.com>
---
 .../testing/selftests/bpf/progs/mptcp_bpf_burst.c | 15 +++++----------
 1 file changed, 5 insertions(+), 10 deletions(-)

diff --git a/tools/testing/selftests/bpf/progs/mptcp_bpf_burst.c b/tools/testing/selftests/bpf/progs/mptcp_bpf_burst.c
index 8cf2ab32c159..2962067568e7 100644
--- a/tools/testing/selftests/bpf/progs/mptcp_bpf_burst.c
+++ b/tools/testing/selftests/bpf/progs/mptcp_bpf_burst.c
@@ -77,14 +77,8 @@ void BPF_PROG(mptcp_sched_burst_release, struct mptcp_sock *msk)
 	bpf_sk_storage_delete(&mptcp_burst_map, msk);
 }
 
-void BPF_STRUCT_OPS(bpf_burst_data_init, struct mptcp_sock *msk,
-		    struct mptcp_sched_data *data)
-{
-	mptcp_sched_data_set_contexts(msk, data);
-}
-
 static int bpf_burst_get_send(struct mptcp_sock *msk,
-			      const struct mptcp_sched_data *data)
+			      struct mptcp_sched_data *data)
 {
 	struct subflow_send_info send_info[SSK_MODE_MAX];
 	struct mptcp_subflow_context *subflow;
@@ -157,7 +151,7 @@ static int bpf_burst_get_send(struct mptcp_sock *msk,
 }
 
 static int bpf_burst_get_retrans(struct mptcp_sock *msk,
-				 const struct mptcp_sched_data *data)
+				 struct mptcp_sched_data *data)
 {
 	int backup = MPTCP_SUBFLOWS_MAX, pick = MPTCP_SUBFLOWS_MAX, subflow_id;
 	struct mptcp_subflow_context *subflow;
@@ -205,8 +199,10 @@ static int bpf_burst_get_retrans(struct mptcp_sock *msk,
 }
 
 int BPF_STRUCT_OPS(bpf_burst_get_subflow, struct mptcp_sock *msk,
-		   const struct mptcp_sched_data *data)
+		   struct mptcp_sched_data *data)
 {
+	mptcp_sched_data_set_contexts(msk, data);
+
 	if (data->reinject)
 		return bpf_burst_get_retrans(msk, data);
 	return bpf_burst_get_send(msk, data);
@@ -216,7 +212,6 @@ SEC(".struct_ops")
 struct mptcp_sched_ops burst = {
 	.init		= (void *)mptcp_sched_burst_init,
 	.release	= (void *)mptcp_sched_burst_release,
-	.data_init	= (void *)bpf_burst_data_init,
 	.get_subflow	= (void *)bpf_burst_get_subflow,
 	.name		= "bpf_burst",
 };
-- 
2.35.3


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* Re: Squash to "selftests/bpf: Add bpf_burst scheduler": Build Failure
  2023-08-15  6:29 ` [PATCH mptcp-next 9/9] Squash to "selftests/bpf: Add bpf_burst scheduler" Geliang Tang
@ 2023-08-15  6:41   ` MPTCP CI
  2023-08-15  7:44   ` Squash to "selftests/bpf: Add bpf_burst scheduler": Tests Results MPTCP CI
  1 sibling, 0 replies; 14+ messages in thread
From: MPTCP CI @ 2023-08-15  6:41 UTC (permalink / raw)
  To: Geliang Tang; +Cc: mptcp

Hi Geliang,

Thank you for your modifications, that's great!

But sadly, our CI spotted some issues with it when trying to build it.

You can find more details there:

  https://patchwork.kernel.org/project/mptcp/patch/6608f9d9fea9d2bc57ec8378a7afa4fd52c66d17.1692080803.git.geliang.tang@suse.com/
  https://github.com/multipath-tcp/mptcp_net-next/actions/runs/5864337382

Status: failure
Initiator: MPTCPimporter
Commits: https://github.com/multipath-tcp/mptcp_net-next/commits/538d21adcc61

Feel free to reply to this email if you cannot access logs, if you need
some support to fix the error, if this doesn't seem to be caused by your
modifications or if the error is a false positive one.

Cheers,
MPTCP GH Action bot
Bot operated by Matthieu Baerts (Tessares)

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Squash to "selftests/bpf: Add bpf_burst scheduler": Tests Results
  2023-08-15  6:29 ` [PATCH mptcp-next 9/9] Squash to "selftests/bpf: Add bpf_burst scheduler" Geliang Tang
  2023-08-15  6:41   ` Squash to "selftests/bpf: Add bpf_burst scheduler": Build Failure MPTCP CI
@ 2023-08-15  7:44   ` MPTCP CI
  1 sibling, 0 replies; 14+ messages in thread
From: MPTCP CI @ 2023-08-15  7:44 UTC (permalink / raw)
  To: Geliang Tang; +Cc: mptcp

Hi Geliang,

Thank you for your modifications, that's great!

Our CI did some validations and here is its report:

- KVM Validation: normal (except selftest_mptcp_join):
  - Success! ✅:
  - Task: https://cirrus-ci.com/task/5091565979303936
  - Summary: https://api.cirrus-ci.com/v1/artifact/task/5091565979303936/summary/summary.txt

- KVM Validation: debug (except selftest_mptcp_join):
  - Unstable: 2 failed test(s): packetdrill_mp_join packetdrill_sockopts 🔴:
  - Task: https://cirrus-ci.com/task/4810091002593280
  - Summary: https://api.cirrus-ci.com/v1/artifact/task/4810091002593280/summary/summary.txt

- KVM Validation: normal (only selftest_mptcp_join):
  - Success! ✅:
  - Task: https://cirrus-ci.com/task/6217465886146560
  - Summary: https://api.cirrus-ci.com/v1/artifact/task/6217465886146560/summary/summary.txt

- KVM Validation: debug (only selftest_mptcp_join):
  - Success! ✅:
  - Task: https://cirrus-ci.com/task/5935990909435904
  - Summary: https://api.cirrus-ci.com/v1/artifact/task/5935990909435904/summary/summary.txt

Initiator: Patchew Applier
Commits: https://github.com/multipath-tcp/mptcp_net-next/commits/538d21adcc61


If there are some issues, you can reproduce them using the same environment as
the one used by the CI thanks to a docker image, e.g.:

    $ cd [kernel source code]
    $ docker run -v "${PWD}:${PWD}:rw" -w "${PWD}" --privileged --rm -it \
        --pull always mptcp/mptcp-upstream-virtme-docker:latest \
        auto-debug

For more details:

    https://github.com/multipath-tcp/mptcp-upstream-virtme-docker


Please note that despite all the efforts that have been already done to have a
stable tests suite when executed on a public CI like here, it is possible some
reported issues are not due to your modifications. Still, do not hesitate to
help us improve that ;-)

Cheers,
MPTCP GH Action bot
Bot operated by Matthieu Baerts (Tessares)

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH mptcp-next 0/9] Update scheduler refactor commits
  2023-08-15  6:29 [PATCH mptcp-next 0/9] Update scheduler refactor commits Geliang Tang
                   ` (8 preceding siblings ...)
  2023-08-15  6:29 ` [PATCH mptcp-next 9/9] Squash to "selftests/bpf: Add bpf_burst scheduler" Geliang Tang
@ 2023-08-17  0:07 ` Mat Martineau
  2023-08-17  9:30   ` Matthieu Baerts
  9 siblings, 1 reply; 14+ messages in thread
From: Mat Martineau @ 2023-08-17  0:07 UTC (permalink / raw)
  To: Geliang Tang; +Cc: mptcp

On Tue, 15 Aug 2023, Geliang Tang wrote:

> Update scheduler refactor commits:
> - drop data_init interface.
> - call mptcp_sched_default_get_subflow in get_send/retrans.
> - update commit logs.
>

Thanks for the changes Geliang, these look good to squash.

Matthieu, I think the build failures were due to the squash commits being 
applied after the final export branch commit?

- Mat


> Geliang Tang (9):
>  Squash to "mptcp: add struct mptcp_sched_ops"
>  Squash to "mptcp: add scheduler wrappers"
>  Squash to "mptcp: register default scheduler"
>  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"
>  Squash to "selftests/bpf: Add bpf_burst scheduler"
>
> include/net/mptcp.h                           |  4 +--
> net/mptcp/sched.c                             | 36 ++++---------------
> tools/testing/selftests/bpf/bpf_tcp_helpers.h |  4 +--
> .../selftests/bpf/progs/mptcp_bpf_bkup.c      | 11 ++----
> .../selftests/bpf/progs/mptcp_bpf_burst.c     | 15 +++-----
> .../selftests/bpf/progs/mptcp_bpf_first.c     | 10 ++----
> .../selftests/bpf/progs/mptcp_bpf_red.c       |  9 ++---
> .../selftests/bpf/progs/mptcp_bpf_rr.c        | 11 ++----
> 8 files changed, 23 insertions(+), 77 deletions(-)
>
> -- 
> 2.35.3
>
>
>

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH mptcp-next 0/9] Update scheduler refactor commits
  2023-08-17  0:07 ` [PATCH mptcp-next 0/9] Update scheduler refactor commits Mat Martineau
@ 2023-08-17  9:30   ` Matthieu Baerts
  0 siblings, 0 replies; 14+ messages in thread
From: Matthieu Baerts @ 2023-08-17  9:30 UTC (permalink / raw)
  To: Mat Martineau, Geliang Tang; +Cc: mptcp

Hi Geliang, Mat,

On 17/08/2023 02:07, Mat Martineau wrote:
> On Tue, 15 Aug 2023, Geliang Tang wrote:
> 
>> Update scheduler refactor commits:
>> - drop data_init interface.
>> - call mptcp_sched_default_get_subflow in get_send/retrans.
>> - update commit logs.
>>

Thank you for the patches and the review!

> Thanks for the changes Geliang, these look good to squash.
> 
> Matthieu, I think the build failures were due to the squash commits
> being applied after the final export branch commit?

It looks like they are due to the squash commits. Let's see :)

New patches for t/upstream:
- 334385dbbaff: "squashed" patch 1/9 in "mptcp: add struct mptcp_sched_ops"
- 72867507b737: tg:msg: update after the recent squash-to patch

- b1737babf8e1: "squashed" patch 2/9 (with conflicts) in "mptcp: add
scheduler wrappers"
- ebc8d6bc5e46: tg:msg: update after the recent squash-to patch

- eeffd6a7a5d6: "squashed" patch 3/9 (with conflicts) in "mptcp:
register default scheduler"
- ff14b1c54442: tg:msg: update after the recent squash-to patch

- dd2afaeb7bf9: "squashed" patch 4/9 in "selftests/bpf: Add mptcp sched
structs"
- 28c12982dd5b: "squashed" patch 5/9 in "selftests/bpf: Add bpf_first
scheduler"
- 22674b47badb: "squashed" patch 6/9 in "selftests/bpf: Add bpf_bkup
scheduler"
- 48f4f33191d4: "squashed" patch 7/9 in "selftests/bpf: Add bpf_rr
scheduler"
- 658be6218f95: "squashed" patch 8/9 in "selftests/bpf: Add bpf_red
scheduler"
- c1714527d1e2: "squashed" patch 9/9 in "selftests/bpf: Add bpf_burst
scheduler"
- Results: f28cd69d6233..ca3243095d76 (export)

Tests are now in progress:

https://cirrus-ci.com/github/multipath-tcp/mptcp_net-next/export/20230817T092922

Cheers,
Matt
-- 
Tessares | Belgium | Hybrid Access Solutions
www.tessares.net

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2023-08-17  9:30 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-08-15  6:29 [PATCH mptcp-next 0/9] Update scheduler refactor commits Geliang Tang
2023-08-15  6:29 ` [PATCH mptcp-next 1/9] Squash to "mptcp: add struct mptcp_sched_ops" Geliang Tang
2023-08-15  6:29 ` [PATCH mptcp-next 2/9] Squash to "mptcp: add scheduler wrappers" Geliang Tang
2023-08-15  6:29 ` [PATCH mptcp-next 3/9] Squash to "mptcp: register default scheduler" Geliang Tang
2023-08-15  6:29 ` [PATCH mptcp-next 4/9] Squash to "selftests/bpf: Add mptcp sched structs" Geliang Tang
2023-08-15  6:29 ` [PATCH mptcp-next 5/9] Squash to "selftests/bpf: Add bpf_first scheduler" Geliang Tang
2023-08-15  6:29 ` [PATCH mptcp-next 6/9] Squash to "selftests/bpf: Add bpf_bkup scheduler" Geliang Tang
2023-08-15  6:29 ` [PATCH mptcp-next 7/9] Squash to "selftests/bpf: Add bpf_rr scheduler" Geliang Tang
2023-08-15  6:29 ` [PATCH mptcp-next 8/9] Squash to "selftests/bpf: Add bpf_red scheduler" Geliang Tang
2023-08-15  6:29 ` [PATCH mptcp-next 9/9] Squash to "selftests/bpf: Add bpf_burst scheduler" Geliang Tang
2023-08-15  6:41   ` Squash to "selftests/bpf: Add bpf_burst scheduler": Build Failure MPTCP CI
2023-08-15  7:44   ` Squash to "selftests/bpf: Add bpf_burst scheduler": Tests Results MPTCP CI
2023-08-17  0:07 ` [PATCH mptcp-next 0/9] Update scheduler refactor commits Mat Martineau
2023-08-17  9:30   ` Matthieu Baerts

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.