Re: [PATCH v5 bpf-next 0/2] perf: stop using deprecated bpf APIs

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

 



On Sat, Feb 12, 2022 at 7:53 AM Arnaldo Carvalho de Melo
<acme@xxxxxxxxxx> wrote:
>
> Em Sat, Feb 12, 2022 at 12:36:49PM -0300, Arnaldo Carvalho de Melo escreveu:
> > Em Sat, Feb 12, 2022 at 12:34:58PM -0300, Arnaldo Carvalho de Melo escreveu:
> > > Em Fri, Feb 11, 2022 at 11:30:52PM -0800, Andrii Nakryiko escreveu:
> > > > libbpf's bpf_prog_load() and bpf__object_next() APIs are deprecated.
> > > > remove perf's usage of these deprecated functions. After this patch
> > > > set, the only remaining libbpf deprecated APIs in perf would be
> > > > bpf_program__set_prep() and bpf_program__nth_fd().
> > >
> > > Not applying to perf/core, I'm checking...
> >
> > Just some fuzz on the second patch:
> >
> > ⬢[acme@toolbox perf]$ patch -p1 < ~/wb/1.patch
> > patching file tools/perf/util/bpf-loader.c
> > Hunk #2 succeeded at 111 with fuzz 1 (offset -1 lines).
> > Hunk #3 succeeded at 156 (offset -2 lines).
> > Hunk #4 succeeded at 1563 (offset 8 lines).
> > Hunk #5 succeeded at 1575 (offset 8 lines).
> > Hunk #6 succeeded at 1628 (offset 8 lines).
> > ⬢[acme@toolbox perf]$
> >
> > Applying manually to test on the set of test build containers.
>
> perf test clean, these also work:
>
> # perf trace -e tools/perf/examples/bpf/augmented_raw_syscalls.c  sleep 1
> [root@quaco perf]# perf trace -e tools/perf/examples/bpf/5sec.c  sleep 5s
>      0.000 perf_bpf_probe:hrtimer_nanosleep(__probe_ip: -1994947936, rqtp: 5000000000)
> [root@quaco perf]#
>
> containers building:
>
> [perfbuilder@five ~]$ export BUILD_TARBALL=http://192.168.100.2/perf/perf-5.17.0-rc3.tar.xz
> [perfbuilder@five ~]$ time dm
>    1   164.81 almalinux:8                   : Ok   gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-4) , clang version 12.0.1 (Red Hat 12.0.1-4.module_el8.5.0+1025+93159d6c)
>    2    90.60 alpine:3.4                    : Ok   gcc (Alpine 5.3.0) 5.3.0 , clang version 3.8.0 (tags/RELEASE_380/final)
>    3    55.88 alpine:3.5                    : Ok   gcc (Alpine 6.2.1) 6.2.1 20160822 , clang version 3.8.1 (tags/RELEASE_381/final)
>    4    58.69 alpine:3.6                    : Ok   gcc (Alpine 6.3.0) 6.3.0 , clang version 4.0.0 (tags/RELEASE_400/final)
>    5    65.65 alpine:3.7                    : Ok   gcc (Alpine 6.4.0) 6.4.0 , Alpine clang version 5.0.0 (tags/RELEASE_500/final) (based on LLVM 5.0.0)
>    6    69.85 alpine:3.8                    : Ok   gcc (Alpine 6.4.0) 6.4.0 , Alpine clang version 5.0.1 (tags/RELEASE_501/final) (based on LLVM 5.0.1)
>    7    66.83 alpine:3.9                    : Ok   gcc (Alpine 8.3.0) 8.3.0 , Alpine clang version 5.0.1 (tags/RELEASE_502/final) (based on LLVM 5.0.1)
>    8: alpine:3.10
>
> I don't expect problems with those, so probably later today I'll push it
> to perf/core so that it will be on its way t 5.18.

Great, thank you!

>
> - Arnaldo
> >
> > > ⬢[acme@toolbox perf]$ b4 am -ctsl --cc-trailers 20220212073054.1052880-1-andrii@xxxxxxxxxx
> > > Looking up https://lore.kernel.org/r/20220212073054.1052880-1-andrii%40kernel.org
> > > Grabbing thread from lore.kernel.org/all/20220212073054.1052880-1-andrii%40kernel.org/t.mbox.gz
> > > Checking for newer revisions on https://lore.kernel.org/all/
> > > Analyzing 3 messages in the thread
> > > Checking attestation on all messages, may take a moment...
> > > ---
> > >   [PATCH v5 1/2] perf: Stop using deprecated bpf_load_program() API
> > >     + Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
> > >     + Link: https://lore.kernel.org/r/20220212073054.1052880-2-andrii@xxxxxxxxxx
> > >     + Cc: kernel-team@xxxxxx
> > >     + Cc: daniel@xxxxxxxxxxxxx
> > >     + Cc: ast@xxxxxxxxxx
> > >     + Cc: bpf@xxxxxxxxxxxxxxx
> > >   [PATCH v5 2/2] perf: Stop using deprecated bpf_object__next() API
> > >     + Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
> > >     + Link: https://lore.kernel.org/r/20220212073054.1052880-3-andrii@xxxxxxxxxx
> > >     + Cc: kernel-team@xxxxxx
> > >     + Cc: daniel@xxxxxxxxxxxxx
> > >     + Cc: ast@xxxxxxxxxx
> > >     + Cc: bpf@xxxxxxxxxxxxxxx
> > > ---
> > > Total patches: 2
> > > ---
> > > Cover: ./v5_20220211_andrii_perf_stop_using_deprecated_bpf_apis.cover
> > >  Link: https://lore.kernel.org/r/20220212073054.1052880-1-andrii@xxxxxxxxxx
> > >  Base: not specified
> > >        git am ./v5_20220211_andrii_perf_stop_using_deprecated_bpf_apis.mbx
> > > ⬢[acme@toolbox perf]$        git am ./v5_20220211_andrii_perf_stop_using_deprecated_bpf_apis.mbx
> > > Applying: perf: Stop using deprecated bpf_load_program() API
> > > Applying: perf: Stop using deprecated bpf_object__next() API
> > > error: patch failed: tools/perf/util/bpf-loader.c:68
> > > error: tools/perf/util/bpf-loader.c: patch does not apply
> > > Patch failed at 0002 perf: Stop using deprecated bpf_object__next() API
> > > hint: Use 'git am --show-current-patch=diff' to see the failed patch
> > > When you have resolved this problem, run "git am --continue".
> > > If you prefer to skip this patch, run "git am --skip" instead.
> > > To restore the original branch and stop patching, run "git am --abort".
> > >
> > >
> > > - Arnaldo
> > >
> > > > v4 -> v5:
> > > >   - add bpf_perf_object__add() and use it where appropriate (Jiri);
> > > >   - use __maybe_unused in first patch;
> > > > v3 -> v4:
> > > >   - Fixed commit title
> > > >   - Added weak definition for deprecated function
> > > > v2 -> v3:
> > > >   - Fixed commit message to use upstream perf
> > > > v1 -> v2:
> > > >   - Added missing commit message
> > > >   - Added more details to commit message and added steps to reproduce
> > > >     original test case.
> > > >
> > > > Christy Lee (2):
> > > >   perf: Stop using deprecated bpf_load_program() API
> > > >   perf: Stop using deprecated bpf_object__next() API
> > > >
> > > >  tools/perf/tests/bpf.c       | 14 ++----
> > > >  tools/perf/util/bpf-event.c  | 13 +++++
> > > >  tools/perf/util/bpf-loader.c | 98 +++++++++++++++++++++++++++++-------
> > > >  3 files changed, 96 insertions(+), 29 deletions(-)
> > > >
> > > > --
> > > > 2.30.2
> > >
> > > --
> > >
> > > - Arnaldo
> >
> > --
> >
> > - Arnaldo
>
> --
>
> - Arnaldo




[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