[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <5071056.31r3eYUQgx@7940hx>
Date: Wed, 21 Jan 2026 09:28:41 +0800
From: Menglong Dong <menglong.dong@...ux.dev>
To: Menglong Dong <menglong8.dong@...il.com>,
Andrii Nakryiko <andrii.nakryiko@...il.com>
Cc: ast@...nel.org, eddyz87@...il.com, davem@...emloft.net,
dsahern@...nel.org, daniel@...earbox.net, andrii@...nel.org,
martin.lau@...ux.dev, song@...nel.org, yonghong.song@...ux.dev,
john.fastabend@...il.com, kpsingh@...nel.org, sdf@...ichev.me,
haoluo@...gle.com, jolsa@...nel.org, tglx@...utronix.de, mingo@...hat.com,
bp@...en8.de, dave.hansen@...ux.intel.com, x86@...nel.org, hpa@...or.com,
netdev@...r.kernel.org, bpf@...r.kernel.org, linux-kernel@...r.kernel.org
Subject:
Re: [PATCH bpf-next v6 2/2] selftests/bpf: test the jited inline of
bpf_get_current_task
On 2026/1/21 09:05 Andrii Nakryiko <andrii.nakryiko@...il.com> write:
> On Mon, Jan 19, 2026 at 11:06 PM Menglong Dong <menglong8.dong@...il.com> wrote:
> >
> > Add the testcase for the jited inline of bpf_get_current_task().
> >
> > Signed-off-by: Menglong Dong <dongml2@...natelecom.cn>
> > ---
> > v6:
> > * remove unnecessary 'ifdef' and __description
> > ---
> > .../selftests/bpf/prog_tests/verifier.c | 2 ++
> > .../selftests/bpf/progs/verifier_jit_inline.c | 20 +++++++++++++++++++
> > 2 files changed, 22 insertions(+)
> > create mode 100644 tools/testing/selftests/bpf/progs/verifier_jit_inline.c
> >
> > diff --git a/tools/testing/selftests/bpf/prog_tests/verifier.c b/tools/testing/selftests/bpf/prog_tests/verifier.c
> > index 38c5ba70100c..2ae7b096bd64 100644
> > --- a/tools/testing/selftests/bpf/prog_tests/verifier.c
> > +++ b/tools/testing/selftests/bpf/prog_tests/verifier.c
> > @@ -111,6 +111,7 @@
> > #include "verifier_xdp_direct_packet_access.skel.h"
> > #include "verifier_bits_iter.skel.h"
> > #include "verifier_lsm.skel.h"
> > +#include "verifier_jit_inline.skel.h"
> > #include "irq.skel.h"
> >
> > #define MAX_ENTRIES 11
> > @@ -253,6 +254,7 @@ void test_verifier_bits_iter(void) { RUN(verifier_bits_iter); }
> > void test_verifier_lsm(void) { RUN(verifier_lsm); }
> > void test_irq(void) { RUN(irq); }
> > void test_verifier_mtu(void) { RUN(verifier_mtu); }
> > +void test_verifier_jit_inline(void) { RUN(verifier_jit_inline); }
> >
> > static int init_test_val_map(struct bpf_object *obj, char *map_name)
> > {
> > diff --git a/tools/testing/selftests/bpf/progs/verifier_jit_inline.c b/tools/testing/selftests/bpf/progs/verifier_jit_inline.c
> > new file mode 100644
> > index 000000000000..4ea254063646
> > --- /dev/null
> > +++ b/tools/testing/selftests/bpf/progs/verifier_jit_inline.c
> > @@ -0,0 +1,20 @@
> > +// SPDX-License-Identifier: GPL-2.0
> > +
> > +#include <vmlinux.h>
> > +#include <bpf/bpf_helpers.h>
> > +#include "bpf_misc.h"
> > +
> > +SEC("fentry/bpf_fentry_test1")
> > +__success __retval(0)
> > +__arch_x86_64
> > +__jited(" addq %gs:{{.*}}, %rax")
> > +__arch_arm64
> > +__jited(" mrs x7, SP_EL0")
>
> I was confused to see this, as your patch actually implements inlining
> only on x86-64. And then it turned out that on arm64 we inline this in
Yeah, the arm64 implemented it already. And I add the testing for it
BTW.
> JIT. But Eduard also noticed that we actually SKIP this test on arm64
> because of missing LLVM dependency, so that's not great.
Do you mean that the CI of arm64 doesn't use LLVM for the selftests?
I noted that. I found that there are other similar "__jited" testings for
arm64, is there anything we can do?
PS: I tested the arm64 locally, and it works fine.
>
> So we should do something about silently skipped tests at least...
Like a warning?
Thanks!
Menglong Dong
>
> > +int inline_bpf_get_current_task(void)
> > +{
> > + bpf_get_current_task();
> > +
> > + return 0;
> > +}
> > +
> > +char _license[] SEC("license") = "GPL";
> > --
> > 2.52.0
> >
>
Powered by blists - more mailing lists