[PATCH mptcp-next v8 02/15] Squash to "mptcp: add struct mptcp_sched_ops"

Geliang Tang posted 15 patches 3 years, 3 months ago
Maintainers: Mat Martineau <mathew.j.martineau@linux.intel.com>, Matthieu Baerts <matthieu.baerts@tessares.net>, "David S. Miller" <davem@davemloft.net>, Eric Dumazet <edumazet@google.com>, Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>, Alexei Starovoitov <ast@kernel.org>, Daniel Borkmann <daniel@iogearbox.net>, Andrii Nakryiko <andrii@kernel.org>, Martin KaFai Lau <martin.lau@linux.dev>, Song Liu <song@kernel.org>, Yonghong Song <yhs@fb.com>, John Fastabend <john.fastabend@gmail.com>, KP Singh <kpsingh@kernel.org>, Stanislav Fomichev <sdf@google.com>, Hao Luo <haoluo@google.com>, Jiri Olsa <jolsa@kernel.org>, Mykola Lysenko <mykolal@fb.com>, Shuah Khan <shuah@kernel.org>
There is a newer version of this series
[PATCH mptcp-next v8 02/15] Squash to "mptcp: add struct mptcp_sched_ops"
Posted by Geliang Tang 3 years, 3 months ago
New api:
 - add new data_init
 - add snd_burst in mptcp_sched_data
 - add an int return value for get_subflow

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

diff --git a/include/net/mptcp.h b/include/net/mptcp.h
index c25939b2af68..cac5b0d512fd 100644
--- a/include/net/mptcp.h
+++ b/include/net/mptcp.h
@@ -101,12 +101,15 @@ struct mptcp_out_options {
 
 struct mptcp_sched_data {
 	bool	reinject;
+	int	snd_burst;
 	struct mptcp_subflow_context *contexts[MPTCP_SUBFLOWS_MAX];
 };
 
 struct mptcp_sched_ops {
-	void (*get_subflow)(const struct mptcp_sock *msk,
-			    struct mptcp_sched_data *data);
+	void (*data_init)(const struct mptcp_sock *msk,
+			  struct mptcp_sched_data *data);
+	int (*get_subflow)(const struct mptcp_sock *msk,
+			   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 d295b92a5789..949663742f14 100644
--- a/net/mptcp/sched.c
+++ b/net/mptcp/sched.c
@@ -33,7 +33,7 @@ struct mptcp_sched_ops *mptcp_sched_find(const char *name)
 
 int mptcp_register_scheduler(struct mptcp_sched_ops *sched)
 {
-	if (!sched->get_subflow)
+	if (!sched->data_init || !sched->get_subflow)
 		return -EINVAL;
 
 	spin_lock(&mptcp_sched_list_lock);
-- 
2.35.3
Re: [PATCH mptcp-next v8 02/15] Squash to "mptcp: add struct mptcp_sched_ops"
Posted by Mat Martineau 3 years, 3 months ago
On Fri, 14 Oct 2022, Geliang Tang wrote:

> New api:
> - add new data_init
> - add snd_burst in mptcp_sched_data
> - add an int return value for get_subflow
>
> Signed-off-by: Geliang Tang <geliang.tang@suse.com>
> ---
> include/net/mptcp.h | 7 +++++--
> net/mptcp/sched.c   | 2 +-
> 2 files changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/include/net/mptcp.h b/include/net/mptcp.h
> index c25939b2af68..cac5b0d512fd 100644
> --- a/include/net/mptcp.h
> +++ b/include/net/mptcp.h
> @@ -101,12 +101,15 @@ struct mptcp_out_options {
>
> struct mptcp_sched_data {
> 	bool	reinject;
> +	int	snd_burst;

I suggest moving this addition to "mptcp: drop snd_burst in mptcp_sock", 
since it isn't used until then.


> 	struct mptcp_subflow_context *contexts[MPTCP_SUBFLOWS_MAX];
> };
>
> struct mptcp_sched_ops {
> -	void (*get_subflow)(const struct mptcp_sock *msk,
> -			    struct mptcp_sched_data *data);
> +	void (*data_init)(const struct mptcp_sock *msk,
> +			  struct mptcp_sched_data *data);
> +	int (*get_subflow)(const struct mptcp_sock *msk,
> +			   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 d295b92a5789..949663742f14 100644
> --- a/net/mptcp/sched.c
> +++ b/net/mptcp/sched.c
> @@ -33,7 +33,7 @@ struct mptcp_sched_ops *mptcp_sched_find(const char *name)
>
> int mptcp_register_scheduler(struct mptcp_sched_ops *sched)
> {
> -	if (!sched->get_subflow)
> +	if (!sched->data_init || !sched->get_subflow)
> 		return -EINVAL;
>
> 	spin_lock(&mptcp_sched_list_lock);
> -- 
> 2.35.3
>
>
>

--
Mat Martineau
Intel