Re: perf test BPF skipping

From: Arnaldo Carvalho de Melo
Date: Tue Apr 11 2017 - 14:38:07 EST


Em Tue, Apr 11, 2017 at 03:35:58PM -0300, Arnaldo Carvalho de Melo escreveu:
> Ideas? Will dig deeper later, the warning in the perf test output
> doesn't help.
>
> Using perf as in acme/perf/core

Humm, I had a long running 'perf top' session, as soon as I exited it
and tried again:

[root@jouet ~]# perf test bpf
38: BPF filter :
38.1: Basic BPF filtering : Ok
38.2: BPF pinning : Ok
38.3: BPF prologue generation : Ok
38.4: BPF relocation checker : Ok
[root@jouet ~]#

Nevermind then, I'll check some stuff, if I manage to reproduce it
again, will report.

- Arnaldo

> [root@jouet ~]# perf test bpf
> 38: BPF filter :
> 38.1: Basic BPF filtering : Skip
> 38.2: BPF pinning : Skip
> 38.3: BPF prologue generation : Skip
> 38.4: BPF relocation checker : Skip
> [root@jouet ~]# perf test -v bpf
> 38: BPF filter :
> 38.1: Basic BPF filtering :
> --- start ---
> test child forked, pid 26303
> Missing basic BPF support, skip this test: Operation not permitted
> test child finished with -2
> ---- end ----
> BPF filter subtest 0: Skip
> 38.2: BPF pinning :
> --- force skipped ---
> BPF filter subtest 1: Skip
> 38.3: BPF prologue generation :
> --- force skipped ---
> BPF filter subtest 2: Skip
> 38.4: BPF relocation checker :
> --- force skipped ---
> BPF filter subtest 3: Skip
> [root@jouet ~]#
> [root@jouet ~]# uname -a
> Linux jouet 4.11.0-rc6+ #7 SMP Tue Apr 11 11:53:14 -03 2017 x86_64 x86_64 x86_64 GNU/Linux
> [root@jouet ~]# grep ' t bpf' /proc/kallsyms
> ffffffff9b09e338 t bpf_slow_path_word
> ffffffff9b09e36a t bpf_slow_path_half
> ffffffff9b09e3a2 t bpf_slow_path_byte
> ffffffff9b09e3d3 t bpf_slow_path_word_neg
> ffffffff9b09e403 t bpf_slow_path_half_neg
> ffffffff9b09e435 t bpf_slow_path_byte_neg
> ffffffff9b09e460 t bpf_error
> ffffffff9b1a5450 t bpf_get_prog_name
> ffffffff9b1a69c0 t bpf_prog_kallsyms_find
> ffffffff9b1a7e80 t bpf_prog_free_deferred
> ffffffff9b1a9b50 t bpf_map_free_deferred
> ffffffff9b1a9b80 t bpf_map_put_uref
> ffffffff9b1a9ba0 t bpf_map_show_fdinfo
> ffffffff9b1a9c40 t bpf_prog_show_fdinfo
> ffffffff9b1a9e40 t bpf_prog_release
> ffffffff9b1a9e90 t bpf_prog_uncharge_memlock.isra.17
> ffffffff9b1aa130 t bpf_map_release
> ffffffff9b1aa640 t bpf_prog_load
> ffffffff9b1b0370 t bpf_get_inode
> ffffffff9b1b0410 t bpf_dentry_finalize
> ffffffff9b1b0460 t bpf_mkdir
> ffffffff9b1b04d0 t bpf_symlink
> ffffffff9b1b0560 t bpf_lookup
> ffffffff9b1b05c0 t bpf_mount
> ffffffff9b1b05e0 t bpf_fill_super
> ffffffff9b1b06f0 t bpf_any_put
> ffffffff9b1b0740 t bpf_evict_inode
> ffffffff9b1b07b0 t bpf_mkobj
> ffffffff9b1b7eb0 t bpf_overflow_handler
> ffffffff9b751dd0 t bpf_convert_ctx_access
> ffffffff9b7525b0 t bpf_xdp_copy
> ffffffff9b7525d0 t bpf_convert_filter
> ffffffff9b753450 t bpf_get_skb_set_tunnel_proto
> ffffffff9b753af0 t bpf_prog_store_orig_filter.isra.37
> ffffffff9b753e80 t bpf_base_func_proto
> ffffffff9b7541f0 t bpf_skb_copy
> ffffffff9b755630 t bpf_prepare_filter
> ffffffff9b762ee0 t bpf_encap_nlsize
> ffffffff9b762ef0 t bpf_lwt_prog_destroy
> ffffffff9b762f20 t bpf_destroy_state
> ffffffff9b762f50 t bpf_parse_prog
> ffffffff9b763010 t bpf_build_state
> ffffffff9b763190 t bpf_lwt_prog_cmp.isra.6
> ffffffff9b7631c0 t bpf_encap_cmp
> ffffffff9b763490 t bpf_xmit
> ffffffff9b763530 t bpf_output
> ffffffff9b7635d0 t bpf_input
> ffffffff9b763660 t bpf_fill_lwt_prog
> ffffffff9b763700 t bpf_fill_encap_info
> ffffffff9bfb4046 t bpf_init
> ffffffff9bfefcd2 t bpf_lwt_init
> [root@jouet ~]#
>
> [root@jouet ~]# grep BPF ~acme/git/build/v4.11.0-rc6+/.config
> CONFIG_CGROUP_BPF=y
> CONFIG_BPF=y
> CONFIG_BPF_SYSCALL=y
> CONFIG_NETFILTER_XT_MATCH_BPF=m
> CONFIG_NET_CLS_BPF=m
> CONFIG_NET_ACT_BPF=m
> CONFIG_BPF_JIT=y
> CONFIG_LWTUNNEL_BPF=y
> CONFIG_HAVE_EBPF_JIT=y
> CONFIG_BPF_EVENTS=y
> # CONFIG_TEST_BPF is not set
> [root@jouet ~]#
>
> [root@jouet ~]# perf test LLVM
> 36: LLVM search and compile :
> 36.1: Basic BPF llvm compile : Ok
> 36.2: kbuild searching : Ok
> 36.3: Compile source for BPF prologue generation: Ok
> 36.4: Compile source for BPF relocation : Ok
> [root@jouet ~]#