[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAP-5=fVUgc8xtBzGi66YRUxZHyXvW2kiMjGz39dywaLxrO4Hpg@mail.gmail.com>
Date: Thu, 19 Jan 2023 09:11:03 -0800
From: Ian Rogers <irogers@...gle.com>
To: Peter Zijlstra <peterz@...radead.org>,
Ingo Molnar <mingo@...hat.com>,
Arnaldo Carvalho de Melo <acme@...nel.org>,
Mark Rutland <mark.rutland@....com>,
Alexander Shishkin <alexander.shishkin@...ux.intel.com>,
Jiri Olsa <jolsa@...nel.org>,
Namhyung Kim <namhyung@...nel.org>,
Andres Freund <andres@...razel.de>,
Quentin Monnet <quentin@...valent.com>,
Roberto Sassu <roberto.sassu@...wei.com>,
Christy Lee <christylee@...com>,
Andrii Nakryiko <andrii@...nel.org>,
Adrian Hunter <adrian.hunter@...el.com>,
linux-kernel@...r.kernel.org, linux-perf-users@...r.kernel.org,
bpf@...r.kernel.org, Michael Petlan <mpetlan@...hat.com>,
Ben Hutchings <ben@...adent.org.uk>
Subject: Re: [PATCH v2 0/3] Assume libbpf 1.0+
On Sun, Jan 15, 2023 at 5:01 PM Ian Rogers <irogers@...gle.com> wrote:
>
> libbpf 1.0 was a major change in API. Perf has partially supported
> older libbpf's but an implementation may be:
> ..
> pr_err("%s: not support, update libbpf\n", __func__);
> return -ENOTSUP;
> ..
>
> Rather than build a binary that would fail at runtime it is
> preferrential just to build libbpf statically and link against
> that. The static version is in the kernel tools tree and newer than
> 1.0.
>
> These patches change the libbpf test to only pass when at least
> version 1.0 is installed, then remove the conditional build and
> feature logic.
>
> The issue is discussed here:
> https://lore.kernel.org/lkml/20230106151320.619514-1-irogers@google.com/
> perf bpf:
>
> A variant of this fix was added to Linux 6.2 in:
> "perf bpf: Avoid build breakage with libbpf < 0.8.0 + LIBBPF_DYNAMIC=1"
> https://lore.kernel.org/lkml/Y71+eh00Ju7WeEFX@kernel.org/
> This change goes further in removing logic that is now no longer
> necessary.
>
> v2. Rebase now that breakage fix patch is in linus/master.
I missed the:
Acked/Tested-by: Jiri Olsa <jolsa@...nel.org>
I believe we are waiting for package maintainer input.
Thanks,
Ian
> Ian Rogers (3):
> tools build: Pass libbpf feature only if libbpf 1.0+
> perf build: Remove libbpf pre-1.0 feature tests
> perf bpf: Remove pre libbpf 1.0 conditional logic
>
> tools/build/feature/Makefile | 7 --
> .../feature/test-libbpf-bpf_map_create.c | 8 ---
> .../test-libbpf-bpf_object__next_map.c | 8 ---
> .../test-libbpf-bpf_object__next_program.c | 8 ---
> .../build/feature/test-libbpf-bpf_prog_load.c | 9 ---
> .../test-libbpf-bpf_program__set_insns.c | 8 ---
> .../test-libbpf-btf__load_from_kernel_by_id.c | 8 ---
> .../build/feature/test-libbpf-btf__raw_data.c | 8 ---
> tools/build/feature/test-libbpf.c | 4 ++
> tools/perf/Makefile.config | 39 +----------
> tools/perf/util/bpf-event.c | 66 -------------------
> tools/perf/util/bpf-loader.c | 18 -----
> tools/perf/util/bpf_counter.c | 18 -----
> 13 files changed, 5 insertions(+), 204 deletions(-)
> delete mode 100644 tools/build/feature/test-libbpf-bpf_map_create.c
> delete mode 100644 tools/build/feature/test-libbpf-bpf_object__next_map.c
> delete mode 100644 tools/build/feature/test-libbpf-bpf_object__next_program.c
> delete mode 100644 tools/build/feature/test-libbpf-bpf_prog_load.c
> delete mode 100644 tools/build/feature/test-libbpf-bpf_program__set_insns.c
> delete mode 100644 tools/build/feature/test-libbpf-btf__load_from_kernel_by_id.c
> delete mode 100644 tools/build/feature/test-libbpf-btf__raw_data.c
>
> --
> 2.39.0.314.g84b9a713c41-goog
>
Powered by blists - more mailing lists