@@ -157,7 +157,7 @@ void mptcp_subflow_set_scheduled(struct mptcp_subflow_context *subflow,
int mptcp_sched_get_send(struct mptcp_sock *msk)
{
struct mptcp_subflow_context *subflow;
- struct mptcp_sched_data data;
+ struct mptcp_sched_data *data = NULL;
msk_owned_by_me(msk);
@@ -178,14 +178,14 @@ int mptcp_sched_get_send(struct mptcp_sock *msk)
}
if (msk->sched == &mptcp_sched_default || !msk->sched)
- return mptcp_sched_default_get_send(msk, &data);
- return msk->sched->get_send(msk, &data);
+ return mptcp_sched_default_get_send(msk, data);
+ return msk->sched->get_send(msk, data);
}
int mptcp_sched_get_retrans(struct mptcp_sock *msk)
{
struct mptcp_subflow_context *subflow;
- struct mptcp_sched_data data;
+ struct mptcp_sched_data *data = NULL;
msk_owned_by_me(msk);
@@ -199,8 +199,8 @@ int mptcp_sched_get_retrans(struct mptcp_sock *msk)
}
if (msk->sched == &mptcp_sched_default || !msk->sched)
- return mptcp_sched_default_get_retrans(msk, &data);
+ return mptcp_sched_default_get_retrans(msk, data);
if (msk->sched->get_retrans)
- return msk->sched->get_retrans(msk, &data);
- return msk->sched->get_send(msk, &data);
+ return msk->sched->get_retrans(msk, data);
+ return msk->sched->get_send(msk, data);
}
Thanks for the previous commit ("mptcp: sched: split get_subflow interface into two"), the mptcp_sched_data structure is now currently unused. This structure has been added to allow future extensions that are not ready yet. At the end, this structure will not even be used at all when mptcp_subflow bpf_iter will be supported [1]. Here is a first step to save 64 bytes on the stack for each scheduling operation. The structure is not removed yet not to break the WIP work on these extensions, but will be done when [1] will be ready and applied. Link: https://lore.kernel.org/6645ad6e-8874-44c5-8730-854c30673218@linux.dev [1] Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org> --- net/mptcp/sched.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-)