From: Geliang Tang <geliang@kernel.org>
To: Matthieu Baerts <matttbe@kernel.org>,
mptcp@lists.linux.dev, Geliang Tang <tanggeliang@kylinos.cn>
Subject: Re: [PATCH mptcp-next v9 0/7] add mptcp_subflow bpf_iter
Date: Tue, 15 Oct 2024 17:38:56 +0800 [thread overview]
Message-ID: <cae74d0b020f3f694d8e2f4892ca5121bbb07c67.camel@kernel.org> (raw)
In-Reply-To: <48326975-95fc-4255-80f2-8583749194e5@kernel.org>
On Tue, 2024-10-15 at 11:01 +0200, Matthieu Baerts wrote:
> Hi Geliang,
>
> Thank you for your reply!
>
> On 15/10/2024 09:27, Geliang Tang wrote:
> > Hi Matt,
> >
> > Thanks for this review.
> >
> > On Mon, 2024-10-14 at 18:08 +0200, Matthieu Baerts wrote:
> > > Hi Geliang,
> > >
> > > On 09/10/2024 12:05, MPTCP CI wrote:
> > > > 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://github.com/multipath-tcp/mptcp_net-next/actions/runs/11252652867
> > >
> > > I was looking at applying this series, but there are some issues
> > > reported by the CI:
> > >
> > > warning: symbol 'bpf_*mptcp_*' was not declared. Should it be
> > > static?
> > >
> > > Could it be possible to have a fix for that please before
> > > applying
> > > the
> > > series?
> >
> > No fix is needed, just ignore these warnings.
>
> If possible, I would prefer not to ignore these warnings, because
> other
> CI might report the same issue. I didn't check, but can you not
> simply
> declare these new helpers as "static"? It looks like we can have
> kfunc
> declared as static, no?
>
> > This error is also
> > reported in other places:
> >
> > $ make C=1 -o net/socket.o
> > CALL scripts/checksyscalls.sh
> > DESCEND objtool
> > INSTALL libsubcmd_headers
> > DESCEND bpf/resolve_btfids
> > INSTALL libsubcmd_headers
> > CC net/socket.o
> > CHECK net/socket.c
> > net/socket.c:1704:21: warning: symbol 'update_socket_protocol' was
> > not
> > declared. Should it be static?
>
> In this example, you are showing one symbol that has been added for
> MPTCP, maybe we forgot something :)
>
> > It seems that it is because "-Wmissing-declarations" is not
> > recognized
> > by sparse
>
> I don't see complains about that when introducing new kfunc, maybe we
> are supposed to do something else to avoid that?
>
> > > I guess you are missing __bpf_kfunc_start_defs() and
> > > __bpf_kfunc_end_defs() around the declaration of the BPF
> > > dedicated
> > > kfunc, no?
> >
> > No. __bpf_kfunc_start_defs() and __bpf_kfunc_end_defs() are indeed
> > used
> > in patch 2.
>
> Thanks, I missed that.
>
> > > Also, where should I apply these patches? Before "mptcp: add
> > > sched_data
> > > helpers"?
> >
> > Yes, before "mptcp: add sched_data helpers", after "selftests/bpf:
> > Add
> > mptcp subflow subtest".
>
> OK!
>
> > > But then there should not be any dependences on the BPF
> > > scheduler work (and I think that would be better without this
> > > dependence, see my comment on patch 4/7)
> >
> > This set doesn't have any dependence on the BPF packet scheduler
> > since
> > the selftest is added as a ftrace. It somehow depends on packet
> > scheduler since it invoke some packet scheduler functions such as
> > mptcp_subflow_active() and bpf_mptcp_subflow_tcp_sock().
>
> OK, but if I insert the series just after "selftests/bpf: Add mptcp
> subflow subtest", it will not have access to mptcp_subflow_active().
> I
> still need to check your reply on the patch 4/7, but it would be
> easier
> if the test doesn't depend on "mptcp_subflow_active()": it's just a
Do you mean only drop "mptcp_subflow_active" and
"mptcp_subflow_set_scheduled" in the test or drop all the helpers,
include "bpf_mptcp_subflow_tcp_sock" and "bpf_mptcp_subflow_ctx"?
If it is the latter, the test is simplified like this, right?
if (bpf_get_current_pid_tgid() >> 32 != pid)
return 0;
if (msk->pm.server_side || !msk->pm.subflows)
return 0;
ids = 0;
msk = bpf_mptcp_sock_acquire(msk);
if (!msk)
return 0;
bpf_for_each(mptcp_subflow, subflow, msk) {
ids += subflow->subflow_id;
bpf_mptcp_sock_release(msk);
return 0;
To me both are fine, which one do you prefer? I can refactor the code
and send the squash-to patches. Or maybe a v10 is better?
Thanks,
-Geliang
> test
> in preparation to the packet scheduler, it is fine if it is not doing
> interesting for the moment I think.
>
> Cheers,
> Matt
next prev parent reply other threads:[~2024-10-15 9:39 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-10-09 9:45 [PATCH mptcp-next v9 0/7] add mptcp_subflow bpf_iter Geliang Tang
2024-10-09 9:45 ` [PATCH mptcp-next v9 1/7] bpf: Register mptcp common kfunc set Geliang Tang
2024-10-09 9:45 ` [PATCH mptcp-next v9 2/7] bpf: Add mptcp_subflow bpf_iter Geliang Tang
2024-10-09 9:45 ` [PATCH mptcp-next v9 3/7] bpf: Add mptcp_sock acquire and release helpers Geliang Tang
2024-10-09 9:45 ` [PATCH mptcp-next v9 4/7] selftests/bpf: Add mptcp_subflow bpf_iter test prog Geliang Tang
2024-10-14 16:06 ` Matthieu Baerts
2024-10-15 7:59 ` Geliang Tang
2024-10-15 10:47 ` Matthieu Baerts
2024-10-18 1:22 ` Geliang Tang
2024-10-18 10:56 ` Matthieu Baerts
2024-10-09 9:45 ` [PATCH mptcp-next v9 5/7] selftests/bpf: More endpoints for endpoint_init Geliang Tang
2024-10-09 9:45 ` [PATCH mptcp-next v9 6/7] Squash to "selftests/bpf: Add bpf scheduler test" Geliang Tang
2024-10-09 9:45 ` [PATCH mptcp-next v9 7/7] selftests/bpf: Add mptcp_subflow bpf_iter subtest Geliang Tang
2024-10-09 10:05 ` [PATCH mptcp-next v9 0/7] add mptcp_subflow bpf_iter MPTCP CI
2024-10-14 16:08 ` Matthieu Baerts
2024-10-15 7:27 ` Geliang Tang
2024-10-15 9:01 ` Matthieu Baerts
2024-10-15 9:20 ` Geliang Tang
2024-10-15 10:59 ` Matthieu Baerts
2024-10-15 11:07 ` Matthieu Baerts
2024-10-18 1:35 ` Geliang Tang
2024-10-15 9:38 ` Geliang Tang [this message]
2024-10-15 11:10 ` Matthieu Baerts
2024-10-09 10:54 ` MPTCP CI
2024-10-11 22:27 ` Mat Martineau
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=cae74d0b020f3f694d8e2f4892ca5121bbb07c67.camel@kernel.org \
--to=geliang@kernel.org \
--cc=matttbe@kernel.org \
--cc=mptcp@lists.linux.dev \
--cc=tanggeliang@kylinos.cn \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox