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 | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/net/mptcp/sched.c b/net/mptcp/sched.c
index 37d86aadaeaa523568a82ffb22254d1fb34a3d2d..c8e08f6c300d37584d3d89a01022b5677aa8b6bb 100644
@@ -177,7 +177,7 @@ static void mptcp_sched_data_set_contexts(const struct mptcp_sock *msk,
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);
@@ -198,15 +198,15 @@ 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);
- mptcp_sched_data_set_contexts(msk, &data);
- return msk->sched->get_send(msk, &data);
+ return mptcp_sched_default_get_send(msk, data);
+ mptcp_sched_data_set_contexts(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);
@@ -220,10 +220,10 @@ 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);
- mptcp_sched_data_set_contexts(msk, &data);
+ mptcp_sched_data_set_contexts(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);
}
--
2.47.1