Re: Trouble running bpf_iter tests

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 1 Jun 2020 at 16:13, Yonghong Song <yhs@xxxxxx> wrote:
>
>
> On 6/1/20 7:42 AM, Lorenz Bauer wrote:
> > For some reason the initial e-mail wasn't plain text, apologies.
> >
> > ---------- Forwarded message ---------
> > From: Lorenz Bauer <lmb@xxxxxxxxxxxxxx>
> > Date: Mon, 1 Jun 2020 at 15:32
> > Subject: Trouble running bpf_iter tests
> > To: Yonghong Song <yhs@xxxxxx>, bpf <bpf@xxxxxxxxxxxxxxx>
> > Cc: kernel-team <kernel-team@xxxxxxxxxxxxxx>
> >
> >
> > Hi Yonghong,
> >
> > I'm having trouble running the bpf_iter tests on bpf-next at 551f08b1d8eadbc.
> > On a freshly built kernel running in a VM I get the following:
> >
> >      root@vm:/home/lorenz/dev/bpf-next/tools/testing/selftests/bpf#
> > ./test_progs -t bpf_iter
> > 510 bits_offset=640
> >      #3/1 btf_id_or_null:OK
> >      libbpf: failed to open system Kconfig
> >      libbpf: failed to load object 'bpf_iter_ipv6_route'
> >      libbpf: failed to load BPF skeleton 'bpf_iter_ipv6_route': -22
> >      test_ipv6_route:FAIL:bpf_iter_ipv6_route__open_and_load skeleton
> > open_and_load failed1510 bits_offset=1024
> >      #3/2 ipv6_route:FAIL
> >      libbpf: netlink is not found in vmlinux BTF
> >      libbpf: failed to load object 'bpf_iter_netlink'
> >      libbpf: failed to load BPF skeleton 'bpf_iter_netlink': -2
> >      test_netlink:FAIL:bpf_iter_netlink__open_and_load skeleton
> > open_and_load failed1510 bits_offset=1408
> >      #3/3 netlink:FAIL
> >      libbpf: bpf_map is not found in vmlinux BTF
> >      libbpf: failed to load object 'bpf_iter_bpf_map'
> >      libbpf: failed to load BPF skeleton 'bpf_iter_bpf_map': -2
> >      test_bpf_map:FAIL:bpf_iter_bpf_map__open_and_load skeleton
> > open_and_load failed
> >      #3/4 bpf_map:FAIL
> >      ....
> >      #3 bpf_iter:FAIL
> >      Summary: 0/1 PASSED, 0 SKIPPED, 12 FAILED
> >
> > If I understand correctly, this is because there is no function
> > information for bpf_iter_bpf_map
> > present in my /sys/kernel/btf/vmlinux:
> >
> >      # ./bpftool btf dump file /sys/kernel/btf/vmlinux format raw |
> > grep bpf_iter_bpf_map
> >      #
>
> Yes, this is the reason.
>
> >
> > There is an entry in /proc/kallsyms however:
> >
> >      # grep bpf_iter_bpf_map /proc/kallsyms
> >      ffffffff826b2f13 T bpf_iter_bpf_map
> That means the kernel actually haves the right information.
> >
> > And other bpf_iter related symbols are available in BTF:
> >
> >      # ./bpftool btf dump file /sys/kernel/btf/vmlinux format raw |
> > grep bpf_iter_
> >      [12602] TYPEDEF 'bpf_iter_init_seq_priv_t' type_id=9310
> >      [12603] TYPEDEF 'bpf_iter_fini_seq_priv_t' type_id=352
> >      [12604] STRUCT 'bpf_iter_reg' size=56 vlen=7
> >      [12608] STRUCT 'bpf_iter_meta' size=24 vlen=3
> >      [12609] STRUCT 'bpf_iter_target_info' size=32 vlen=3
> >      [12611] STRUCT 'bpf_iter_link' size=72 vlen=2
> >      [12613] STRUCT 'bpf_iter_priv_data' size=40 vlen=6
> >      [12617] STRUCT 'bpf_iter_seq_map_info' size=4 vlen=1
> >      [12620] STRUCT 'bpf_iter__bpf_map' size=16 vlen=2
> >      [12622] STRUCT 'bpf_iter_seq_task_common' size=8 vlen=1
> >      [12623] STRUCT 'bpf_iter_seq_task_info' size=16 vlen=2
> >      [12625] STRUCT 'bpf_iter__task' size=16 vlen=2
> >      [12626] STRUCT 'bpf_iter_seq_task_file_info' size=32 vlen=5
> >      [12628] STRUCT 'bpf_iter__task_file' size=32 vlen=4
> >      [25591] STRUCT 'bpf_iter__netlink' size=16 vlen=2
> >      [27509] STRUCT 'bpf_iter__ipv6_route' size=16 vlen=2
> >
> > Can you help me make this work?
>
> Looks like you have old pahole in your system. You need pahole 1.16 or later
>
> to enable global functions emitted to vmlinux BTF. Could you give a try?

Indeed, upgrading to v1.17 fixed the issue! Thanks for your help :)

Lorenz

-- 
Lorenz Bauer  |  Systems Engineer
6th Floor, County Hall/The Riverside Building, SE1 7PB, UK

www.cloudflare.com



[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux