Re: 'perf stat --bpf-counters test' failures

From: Sohaib Mohamed
Date: Fri Nov 19 2021 - 20:06:47 EST


Hello, Jiri

On Fri, Nov 19, 2021 at 03:08:44PM +0100, Jiri Olsa wrote:
> On Fri, Nov 19, 2021 at 09:28:15AM -0300, Arnaldo Carvalho de Melo wrote:
> >
> > After I updated to fedora 35 I started seeing the errors below,
> > it may well not be related to that, maybe something on libbpf, haven't
> > investigated, have you seen this?
>
> yep, it seems the perf bench is broken so the counts won't correlated
> if I revert this one:
> 92723ea0f11d perf bench: Fix two memory leaks detected with ASan
>
> it works for me again.. it seems to break -t option
>
> Sohaib, could you please check on that?
>
> [root@dell-r440-01 perf]# ./perf bench sched messaging -g 1 -l 100 -t
> # Running 'sched/messaging' benchmark:
> RRRperf: CLIENT: ready write: Bad file descriptor
> Rperf: SENDER: write: Bad file descriptor
>

It seems that this patch fixes this:
$ perf bench sched all
and break:
$ perf bench sched messaging -g 1 -l 100 -t

I'll try to fix this now, apologies

Thanks,
- Sohaib

> thanks,
> jirka
>
> >
> > ⬢[acme@toolbox perf]$ perf -vv
> > perf version 5.16.rc1.gfa2b5229b222
> > dwarf: [ on ] # HAVE_DWARF_SUPPORT
> > dwarf_getlocations: [ on ] # HAVE_DWARF_GETLOCATIONS_SUPPORT
> > glibc: [ on ] # HAVE_GLIBC_SUPPORT
> > syscall_table: [ on ] # HAVE_SYSCALL_TABLE_SUPPORT
> > libbfd: [ on ] # HAVE_LIBBFD_SUPPORT
> > libelf: [ on ] # HAVE_LIBELF_SUPPORT
> > libnuma: [ on ] # HAVE_LIBNUMA_SUPPORT
> > numa_num_possible_cpus: [ on ] # HAVE_LIBNUMA_SUPPORT
> > libperl: [ on ] # HAVE_LIBPERL_SUPPORT
> > libpython: [ on ] # HAVE_LIBPYTHON_SUPPORT
> > libslang: [ on ] # HAVE_SLANG_SUPPORT
> > libcrypto: [ on ] # HAVE_LIBCRYPTO_SUPPORT
> > libunwind: [ on ] # HAVE_LIBUNWIND_SUPPORT
> > libdw-dwarf-unwind: [ on ] # HAVE_DWARF_SUPPORT
> > zlib: [ on ] # HAVE_ZLIB_SUPPORT
> > lzma: [ on ] # HAVE_LZMA_SUPPORT
> > get_cpuid: [ on ] # HAVE_AUXTRACE_SUPPORT
> > bpf: [ on ] # HAVE_LIBBPF_SUPPORT
> > aio: [ on ] # HAVE_AIO_SUPPORT
> > zstd: [ on ] # HAVE_ZSTD_SUPPORT
> > libpfm4: [ OFF ] # HAVE_LIBPFM
> > ⬢[acme@toolbox perf]$
> >
> > This is with what I have now in my perf/urgent branch, the csets there
> > aren't related:
> >
> > ⬢[acme@toolbox perf]$ git log --oneline torvalds/master..
> > b194c9cd09dd98af (HEAD -> perf/urgent, quaco/perf/urgent, acme/tmp.perf/urgent, acme/perf/urgent) perf evsel: Fix memory leaks relating to unit
> > d9fc706108c15f8b perf report: Fix memory leaks around perf_tip()
> > 0ca1f534a776cc7d perf hist: Fix memory leak of a perf_hpp_fmt
> > 8b8dcc3720d57d88 tools headers UAPI: Sync MIPS syscall table file changed by new futex_waitv syscall
> > e8c04ea0fef5731d tools build: Fix removal of feature-sync-compare-and-swap feature detection
> > 9e1a8d9f683260d5 perf inject: Fix ARM SPE handling
> > 92723ea0f11d9249 perf bench: Fix two memory leaks detected with ASan
> > cb5a63feae2d963c perf test sample-parsing: Fix branch_stack entry endianness check
> > 162b944598344fd7 tools headers UAPI: Sync x86's asm/kvm.h with the kernel sources
> > db4b284029099224 perf sort: Fix the 'p_stage_cyc' sort key behavior
> > 4d03c75363eeca86 perf sort: Fix the 'ins_lat' sort key behavior
> > 784e8adda4cdb3e2 perf sort: Fix the 'weight' sort key behavior
> > 70f9c9b2df1dd12c perf tools: Set COMPAT_NEED_REALLOCARRAY for CONFIG_AUXTRACE=1
> > ccb05590c4325ce5 perf tests wp: Remove unused functions on s390
> > 346e91998cba46b6 tools headers UAPI: Sync linux/kvm.h with the kernel sources
> > b075c1d81e7d0e96 tools headers cpufeatures: Sync with the kernel sources
> > ⬢[acme@toolbox perf]$
> >
> > - Arnaldo
> >
> > [acme@quaco perf]$ uname -a
> > Linux quaco 5.14.17-301.fc35.x86_64 #1 SMP Mon Nov 8 13:57:43 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
> >
> > 91: perf stat --bpf-counters test :RRRRRRRRRRRRR FAILED!
> > 92: Check Arm CoreSight trace data recording and synthesized samples: Skip
> > 93: Check Arm SPE trace data recording and synthesized samples : Skip
> > 94: Check open filename arg using perf trace + vfs_getname : Ok
> > [root@quaco ~]# perf test 91
> > 91: perf stat --bpf-counters test :RRRRRRRRRRRRR FAILED!
> > [root@quaco ~]# perf test 91
> > 91: perf stat --bpf-counters test :RRRRRRRRRRRRR FAILED!
> > [root@quaco ~]# perf test 91
> > 91: perf stat --bpf-counters test :RRRRRRRRRRRR FAILED!
> > [root@quaco ~]# perf test 91
> > 91: perf stat --bpf-counters test :RRRRRRRRRRRRRRRRRR Ok
> > [root@quaco ~]# perf test 91
> > 91: perf stat --bpf-counters test :RRRRRRRRR FAILED!
> > [root@quaco ~]# perf test 91
> > 91: perf stat --bpf-counters test :RRRRRRRRRRR Ok
> > [root@quaco ~]# perf test 91
> > 91: perf stat --bpf-counters test :RRRRRRRRRRRRRRR Ok
> > [root@quaco ~]# uname -a
> > Linux quaco 5.14.17-301.fc35.x86_64 #1 SMP Mon Nov 8 13:57:43 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
> > [root@quaco ~]# set -o vi
> > [root@quaco ~]# perf test -v 91
> > 91: perf stat --bpf-counters test :
> > --- start ---
> > test child forked, pid 30079
> > RRRRRRRRRRRRRRRRRThe difference between 31599305 and 36265639 are greater than 10%.
> > test child finished with -1
> > ---- end ----
> > perf stat --bpf-counters test: FAILED!
> > [root@quaco ~]# perf test -v 91
> > 91: perf stat --bpf-counters test :
> > --- start ---
> > test child forked, pid 30170
> > RRRRRRRRRRRRRRRRRRRRRRRRThe difference between 33311934 and 36973889 are greater than 10%.
> > test child finished with -1
> > ---- end ----
> > perf stat --bpf-counters test: FAILED!
> > [root@quaco ~]# perf test -v 91
> > 91: perf stat --bpf-counters test :
> > --- start ---
> > test child forked, pid 30257
> > RRRRRRRRRRRRRRRRRThe difference between 31420157 and 36680527 are greater than 10%.
> > test child finished with -1
> > ---- end ----
> > perf stat --bpf-counters test: FAILED!
> > [root@quaco ~]# perf test -v 91
> > 91: perf stat --bpf-counters test :
> > --- start ---
> > test child forked, pid 30341
> > RRRRRRRRRRRRRRRRRRRThe difference between 32451720 and 36750342 are greater than 10%.
> > test child finished with -1
> > ---- end ----
> > perf stat --bpf-counters test: FAILED!
> > [root@quaco ~]# perf test -v 91
> > 91: perf stat --bpf-counters test :
> > --- start ---
> > test child forked, pid 30433
> > RRRRRRRRRRRRRRRRRRtest child finished with 0
> > ---- end ----
> > perf stat --bpf-counters test: Ok
> > [root@quaco ~]#
> >
>