* [PATCH v1 0/5] Enable BPF skeletons by default
@ 2023-09-14 21:19 Ian Rogers
2023-09-14 21:19 ` [PATCH v1 1/5] perf version: Add status of bpf skeletons Ian Rogers
` (6 more replies)
0 siblings, 7 replies; 14+ messages in thread
From: Ian Rogers @ 2023-09-14 21:19 UTC (permalink / raw)
To: Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo,
Mark Rutland, Alexander Shishkin, Jiri Olsa, Namhyung Kim,
Ian Rogers, Adrian Hunter, Nick Terrell, Nathan Chancellor,
Nick Desaulniers, Tom Rix, Andrii Nakryiko, Tiezhu Yang,
James Clark, Kajol Jain, Patrice Duroux, Athira Rajeev,
linux-perf-users, linux-kernel, bpf, llvm
Enable BPF skeletons by default but warn don't fail if they can't be
supported. This was the intended behavior for Linux 6.4 but it caused
an issue captured in this thread:
https://lore.kernel.org/lkml/20230503211801.897735-1-acme@kernel.org/
This issue isn't repeated here as the previous issue related to
generating vmlinux.h, which is no longer performed by default as a
checked-in vmlinux.h is used instead.
Unlike with those changes, the BUILD_BPF_SKEL is kept and setting it
to 0 disables BPF skeletons. Also, rather than fail the build due to a
missed dependency, dependencies are checked and BPF skeletons disabled
if they aren't present.
Some related commits:
b7a2d774c9c5 perf build: Add ability to build with a generated vmlinux.h
a887466562b4 perf bpf skels: Stop using vmlinux.h generated from BTF, use subset of used structs + CO-RE
a2af0f6b8ef7 perf build: Add system include paths to BPF builds
5be6cecda080 perf bpf skels: Make vmlinux.h use bpf.h and perf_event.h in source directory
9a2d5178b9d5 Revert "perf build: Make BUILD_BPF_SKEL default, rename to NO_BPF_SKEL"
a887466562b4 perf bpf skels: Stop using vmlinux.h generated from BTF, use subset of used structs + CO-RE
1d7966547e11 perf build: Add warning for when vmlinux.h generation fails
a980755beb5a perf build: Make BUILD_BPF_SKEL default, rename to NO_BPF_SKEL
Ian Rogers (5):
perf version: Add status of bpf skeletons
perf build: Default BUILD_BPF_SKEL, warn/disable for missing deps
perf test: Update build test for changed BPF skeleton defaults
perf test: Ensure EXTRA_TESTS is covered in build test
perf test: Detect off-cpu support from build options
tools/perf/Makefile.config | 78 ++++++++++++++++---------
tools/perf/Makefile.perf | 8 +--
tools/perf/builtin-version.c | 1 +
tools/perf/tests/make | 7 ++-
tools/perf/tests/shell/record_offcpu.sh | 2 +-
5 files changed, 59 insertions(+), 37 deletions(-)
--
2.42.0.459.ge4e396fd5e-goog
^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH v1 1/5] perf version: Add status of bpf skeletons
2023-09-14 21:19 [PATCH v1 0/5] Enable BPF skeletons by default Ian Rogers
@ 2023-09-14 21:19 ` Ian Rogers
2023-09-14 21:19 ` [PATCH v1 2/5] perf build: Default BUILD_BPF_SKEL, warn/disable for missing deps Ian Rogers
` (5 subsequent siblings)
6 siblings, 0 replies; 14+ messages in thread
From: Ian Rogers @ 2023-09-14 21:19 UTC (permalink / raw)
To: Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo,
Mark Rutland, Alexander Shishkin, Jiri Olsa, Namhyung Kim,
Ian Rogers, Adrian Hunter, Nick Terrell, Nathan Chancellor,
Nick Desaulniers, Tom Rix, Andrii Nakryiko, Tiezhu Yang,
James Clark, Kajol Jain, Patrice Duroux, Athira Rajeev,
linux-perf-users, linux-kernel, bpf, llvm
Add status for BPF skeletons, to see if a build has them enabled:
```
$ perf version --build-options
perf version 6.6.rc1.g0381ae36d1a6
dwarf: [ OFF ] # HAVE_DWARF_SUPPORT
dwarf_getlocations: [ OFF ] # HAVE_DWARF_GETLOCATIONS_SUPPORT
syscall_table: [ on ] # HAVE_SYSCALL_TABLE_SUPPORT
libbfd: [ OFF ] # HAVE_LIBBFD_SUPPORT
debuginfod: [ OFF ] # HAVE_DEBUGINFOD_SUPPORT
libelf: [ OFF ] # HAVE_LIBELF_SUPPORT
libnuma: [ OFF ] # HAVE_LIBNUMA_SUPPORT
numa_num_possible_cpus: [ OFF ] # HAVE_LIBNUMA_SUPPORT
libperl: [ on ] # HAVE_LIBPERL_SUPPORT
libpython: [ on ] # HAVE_LIBPYTHON_SUPPORT
libslang: [ on ] # HAVE_SLANG_SUPPORT
libcrypto: [ on ] # HAVE_LIBCRYPTO_SUPPORT
libunwind: [ OFF ] # HAVE_LIBUNWIND_SUPPORT
libdw-dwarf-unwind: [ OFF ] # HAVE_DWARF_SUPPORT
zlib: [ on ] # HAVE_ZLIB_SUPPORT
lzma: [ on ] # HAVE_LZMA_SUPPORT
get_cpuid: [ on ] # HAVE_AUXTRACE_SUPPORT
bpf: [ OFF ] # HAVE_LIBBPF_SUPPORT
aio: [ on ] # HAVE_AIO_SUPPORT
zstd: [ on ] # HAVE_ZSTD_SUPPORT
libpfm4: [ on ] # HAVE_LIBPFM
libtraceevent: [ on ] # HAVE_LIBTRACEEVENT
bpf_skeletons: [ OFF ] # HAVE_BPF_SKEL
```
Signed-off-by: Ian Rogers <irogers@google.com>
---
tools/perf/builtin-version.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/tools/perf/builtin-version.c b/tools/perf/builtin-version.c
index e5859c70e195..ac20c2b9bbc2 100644
--- a/tools/perf/builtin-version.c
+++ b/tools/perf/builtin-version.c
@@ -81,6 +81,7 @@ static void library_status(void)
STATUS(HAVE_ZSTD_SUPPORT, zstd);
STATUS(HAVE_LIBPFM, libpfm4);
STATUS(HAVE_LIBTRACEEVENT, libtraceevent);
+ STATUS(HAVE_BPF_SKEL, bpf_skeletons);
}
int cmd_version(int argc, const char **argv)
--
2.42.0.459.ge4e396fd5e-goog
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH v1 2/5] perf build: Default BUILD_BPF_SKEL, warn/disable for missing deps
2023-09-14 21:19 [PATCH v1 0/5] Enable BPF skeletons by default Ian Rogers
2023-09-14 21:19 ` [PATCH v1 1/5] perf version: Add status of bpf skeletons Ian Rogers
@ 2023-09-14 21:19 ` Ian Rogers
2023-09-14 21:19 ` [PATCH v1 3/5] perf test: Update build test for changed BPF skeleton defaults Ian Rogers
` (4 subsequent siblings)
6 siblings, 0 replies; 14+ messages in thread
From: Ian Rogers @ 2023-09-14 21:19 UTC (permalink / raw)
To: Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo,
Mark Rutland, Alexander Shishkin, Jiri Olsa, Namhyung Kim,
Ian Rogers, Adrian Hunter, Nick Terrell, Nathan Chancellor,
Nick Desaulniers, Tom Rix, Andrii Nakryiko, Tiezhu Yang,
James Clark, Kajol Jain, Patrice Duroux, Athira Rajeev,
linux-perf-users, linux-kernel, bpf, llvm
LIBBPF is dependent on zlib so move the NO_ZLIB and feature check
early to avoid statically building when zlib is disabled. This avoids
a linkage failure with perf and static libbpf when zlib isn't
specified.
Move BUILD_BPF_SKEL logic to one place and if not defined set
BUILD_BPF_SKEL to 1. Detect dependencies of building with BPF
skeletons and warn/disable if the dependencies aren't present.
Change Makefile.perf to contain BPF skeleton logic dependent on the
Makefile.config result and refresh the comment about BUILD_BPF_SKEL.
Signed-off-by: Ian Rogers <irogers@google.com>
---
tools/perf/Makefile.config | 78 ++++++++++++++++++++++++--------------
tools/perf/Makefile.perf | 8 ++--
2 files changed, 53 insertions(+), 33 deletions(-)
diff --git a/tools/perf/Makefile.config b/tools/perf/Makefile.config
index d66b52407e19..f5ccbfc1a444 100644
--- a/tools/perf/Makefile.config
+++ b/tools/perf/Makefile.config
@@ -216,12 +216,6 @@ ifeq ($(call get-executable,$(BISON)),)
dummy := $(error Error: $(BISON) is missing on this system, please install it)
endif
-ifeq ($(BUILD_BPF_SKEL),1)
- ifeq ($(call get-executable,$(CLANG)),)
- dummy := $(error $(CLANG) is missing on this system, please install it to be able to build with BUILD_BPF_SKEL=1)
- endif
-endif
-
ifneq ($(OUTPUT),)
ifeq ($(shell expr $(shell $(BISON) --version | grep bison | sed -e 's/.\+ \([0-9]\+\).\([0-9]\+\).\([0-9]\+\)/\1\2\3/g') \>\= 371), 1)
BISON_FILE_PREFIX_MAP := --file-prefix-map=$(OUTPUT)=
@@ -530,6 +524,16 @@ ifdef CORESIGHT
endif
endif
+ifndef NO_ZLIB
+ ifeq ($(feature-zlib), 1)
+ CFLAGS += -DHAVE_ZLIB_SUPPORT
+ EXTLIBS += -lz
+ $(call detected,CONFIG_ZLIB)
+ else
+ NO_ZLIB := 1
+ endif
+endif
+
ifndef NO_LIBELF
CFLAGS += -DHAVE_LIBELF_SUPPORT
EXTLIBS += -lelf
@@ -571,22 +575,28 @@ ifndef NO_LIBELF
ifndef NO_LIBBPF
ifeq ($(feature-bpf), 1)
- CFLAGS += -DHAVE_LIBBPF_SUPPORT
- $(call detected,CONFIG_LIBBPF)
-
# detecting libbpf without LIBBPF_DYNAMIC, so make VF=1 shows libbpf detection status
$(call feature_check,libbpf)
ifdef LIBBPF_DYNAMIC
ifeq ($(feature-libbpf), 1)
EXTLIBS += -lbpf
+ CFLAGS += -DHAVE_LIBBPF_SUPPORT
+ $(call detected,CONFIG_LIBBPF)
$(call detected,CONFIG_LIBBPF_DYNAMIC)
else
dummy := $(error Error: No libbpf devel library found or older than v1.0, please install/update libbpf-devel);
endif
else
- # Libbpf will be built as a static library from tools/lib/bpf.
- LIBBPF_STATIC := 1
+ ifeq ($(NO_ZLIB), 1)
+ dummy := $(warning Warning: Statically building libbpf not possible as zlib is missing)
+ NO_LIBBPF := 1
+ else
+ # Libbpf will be built as a static library from tools/lib/bpf.
+ LIBBPF_STATIC := 1
+ $(call detected,CONFIG_LIBBPF)
+ CFLAGS += -DHAVE_LIBBPF_SUPPORT
+ endif
endif
endif
endif # NO_LIBBPF
@@ -663,16 +673,36 @@ ifndef NO_LIBBPF
endif
endif
-ifdef BUILD_BPF_SKEL
- $(call feature_check,clang-bpf-co-re)
- ifeq ($(feature-clang-bpf-co-re), 0)
- dummy := $(error Error: clang too old/not installed. Please install recent clang to build with BUILD_BPF_SKEL)
- endif
+ifndef BUILD_BPF_SKEL
+ # BPF skeletons control a large number of perf features, by default
+ # they are enabled.
+ BUILD_BPF_SKEL := 1
+endif
+
+ifeq ($(BUILD_BPF_SKEL),1)
ifeq ($(filter -DHAVE_LIBBPF_SUPPORT, $(CFLAGS)),)
- dummy := $(error Error: BPF skeleton support requires libbpf)
+ dummy := $(warning Warning: Disabled BPF skeletons as libbpf is required)
+ BUILD_BPF_SKEL := 0
+ else ifeq ($(filter -DHAVE_LIBELF_SUPPORT, $(CFLAGS)),)
+ dummy := $(warning Warning: Disabled BPF skeletons as libelf is required by bpftool)
+ BUILD_BPF_SKEL := 0
+ else ifeq ($(filter -DHAVE_ZLIB_SUPPORT, $(CFLAGS)),)
+ dummy := $(warning Warning: Disabled BPF skeletons as zlib is required by bpftool)
+ BUILD_BPF_SKEL := 0
+ else ifeq ($(call get-executable,$(CLANG)),)
+ dummy := $(warning Warning: Disabled BPF skeletons as clang ($(CLANG)) is missing)
+ BUILD_BPF_SKEL := 0
+ else
+ $(call feature_check,clang-bpf-co-re)
+ ifeq ($(feature-clang-bpf-co-re), 0)
+ dummy := $(warning Warning: Disabled BPF skeletons as clang is too old)
+ BUILD_BPF_SKEL := 0
+ endif
+ endif
+ ifeq ($(BUILD_BPF_SKEL),1)
+ $(call detected,CONFIG_PERF_BPF_SKEL)
+ CFLAGS += -DHAVE_BPF_SKEL
endif
- $(call detected,CONFIG_PERF_BPF_SKEL)
- CFLAGS += -DHAVE_BPF_SKEL
endif
ifndef GEN_VMLINUX_H
@@ -946,16 +976,6 @@ ifndef NO_DEMANGLE
endif
endif
-ifndef NO_ZLIB
- ifeq ($(feature-zlib), 1)
- CFLAGS += -DHAVE_ZLIB_SUPPORT
- EXTLIBS += -lz
- $(call detected,CONFIG_ZLIB)
- else
- NO_ZLIB := 1
- endif
-endif
-
ifndef NO_LZMA
ifeq ($(feature-lzma), 1)
CFLAGS += -DHAVE_LZMA_SUPPORT
diff --git a/tools/perf/Makefile.perf b/tools/perf/Makefile.perf
index 8d0f6d2bbc7a..98604e396ac3 100644
--- a/tools/perf/Makefile.perf
+++ b/tools/perf/Makefile.perf
@@ -120,7 +120,7 @@ include ../scripts/utilities.mak
#
# Define NO_LIBDEBUGINFOD if you do not want support debuginfod
#
-# Define BUILD_BPF_SKEL to enable BPF skeletons
+# Set BUILD_BPF_SKEL to 0 to override BUILD_BPF_SKEL and not build BPF skeletons
#
# Define BUILD_NONDISTRO to enable building an linking against libbfd and
# libiberty distribution license incompatible libraries.
@@ -1042,7 +1042,7 @@ SKELETONS += $(SKEL_OUT)/augmented_raw_syscalls.skel.h
$(SKEL_TMP_OUT) $(LIBAPI_OUTPUT) $(LIBBPF_OUTPUT) $(LIBPERF_OUTPUT) $(LIBSUBCMD_OUTPUT) $(LIBSYMBOL_OUTPUT):
$(Q)$(MKDIR) -p $@
-ifdef BUILD_BPF_SKEL
+ifeq ($(CONFIG_PERF_BPF_SKEL),y)
BPFTOOL := $(SKEL_TMP_OUT)/bootstrap/bpftool
# Get Clang's default includes on this system, as opposed to those seen by
# '--target=bpf'. This fixes "missing" files on some architectures/distros,
@@ -1120,11 +1120,11 @@ bpf-skel: $(SKELETONS)
.PRECIOUS: $(SKEL_TMP_OUT)/%.bpf.o
-else # BUILD_BPF_SKEL
+else # CONFIG_PERF_BPF_SKEL
bpf-skel:
-endif # BUILD_BPF_SKEL
+endif # CONFIG_PERF_BPF_SKEL
bpf-skel-clean:
$(call QUIET_CLEAN, bpf-skel) $(RM) -r $(SKEL_TMP_OUT) $(SKELETONS)
--
2.42.0.459.ge4e396fd5e-goog
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH v1 3/5] perf test: Update build test for changed BPF skeleton defaults
2023-09-14 21:19 [PATCH v1 0/5] Enable BPF skeletons by default Ian Rogers
2023-09-14 21:19 ` [PATCH v1 1/5] perf version: Add status of bpf skeletons Ian Rogers
2023-09-14 21:19 ` [PATCH v1 2/5] perf build: Default BUILD_BPF_SKEL, warn/disable for missing deps Ian Rogers
@ 2023-09-14 21:19 ` Ian Rogers
2023-09-14 21:19 ` [PATCH v1 4/5] perf test: Ensure EXTRA_TESTS is covered in build test Ian Rogers
` (3 subsequent siblings)
6 siblings, 0 replies; 14+ messages in thread
From: Ian Rogers @ 2023-09-14 21:19 UTC (permalink / raw)
To: Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo,
Mark Rutland, Alexander Shishkin, Jiri Olsa, Namhyung Kim,
Ian Rogers, Adrian Hunter, Nick Terrell, Nathan Chancellor,
Nick Desaulniers, Tom Rix, Andrii Nakryiko, Tiezhu Yang,
James Clark, Kajol Jain, Patrice Duroux, Athira Rajeev,
linux-perf-users, linux-kernel, bpf, llvm
Fix a target name and set BUILD_BPF_SKEL to 0 rather than 1.
Signed-off-by: Ian Rogers <irogers@google.com>
---
tools/perf/tests/make | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/tools/perf/tests/make b/tools/perf/tests/make
index ea4c341f5af1..a3a0f2a8bba0 100644
--- a/tools/perf/tests/make
+++ b/tools/perf/tests/make
@@ -70,8 +70,8 @@ make_python_perf_so := $(python_perf_so)
make_debug := DEBUG=1
make_nondistro := BUILD_NONDISTRO=1
make_extra_tests := EXTRA_TESTS=1
-make_bpf_skel := BUILD_BPF_SKEL=1
-make_gen_vmlinux_h := BUILD_BPF_SKEL=1 GEN_VMLINUX_H=1
+make_no_bpf_skel := BUILD_BPF_SKEL=0
+make_gen_vmlinux_h := GEN_VMLINUX_H=1
make_no_libperl := NO_LIBPERL=1
make_no_libpython := NO_LIBPYTHON=1
make_no_scripts := NO_LIBPYTHON=1 NO_LIBPERL=1
@@ -138,7 +138,7 @@ endif
run += make_python_perf_so
run += make_debug
run += make_nondistro
-run += make_build_bpf_skel
+run += make_no_bpf_skel
run += make_gen_vmlinux_h
run += make_no_libperl
run += make_no_libpython
--
2.42.0.459.ge4e396fd5e-goog
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH v1 4/5] perf test: Ensure EXTRA_TESTS is covered in build test
2023-09-14 21:19 [PATCH v1 0/5] Enable BPF skeletons by default Ian Rogers
` (2 preceding siblings ...)
2023-09-14 21:19 ` [PATCH v1 3/5] perf test: Update build test for changed BPF skeleton defaults Ian Rogers
@ 2023-09-14 21:19 ` Ian Rogers
2023-09-18 23:34 ` Namhyung Kim
2023-09-14 21:19 ` [PATCH v1 5/5] perf test: Detect off-cpu support from build options Ian Rogers
` (2 subsequent siblings)
6 siblings, 1 reply; 14+ messages in thread
From: Ian Rogers @ 2023-09-14 21:19 UTC (permalink / raw)
To: Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo,
Mark Rutland, Alexander Shishkin, Jiri Olsa, Namhyung Kim,
Ian Rogers, Adrian Hunter, Nick Terrell, Nathan Chancellor,
Nick Desaulniers, Tom Rix, Andrii Nakryiko, Tiezhu Yang,
James Clark, Kajol Jain, Patrice Duroux, Athira Rajeev,
linux-perf-users, linux-kernel, bpf, llvm
Add to run variable.
Signed-off-by: Ian Rogers <irogers@google.com>
---
tools/perf/tests/make | 1 +
1 file changed, 1 insertion(+)
diff --git a/tools/perf/tests/make b/tools/perf/tests/make
index a3a0f2a8bba0..d9945ed25bc5 100644
--- a/tools/perf/tests/make
+++ b/tools/perf/tests/make
@@ -138,6 +138,7 @@ endif
run += make_python_perf_so
run += make_debug
run += make_nondistro
+run += make_extra_tests
run += make_no_bpf_skel
run += make_gen_vmlinux_h
run += make_no_libperl
--
2.42.0.459.ge4e396fd5e-goog
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH v1 5/5] perf test: Detect off-cpu support from build options
2023-09-14 21:19 [PATCH v1 0/5] Enable BPF skeletons by default Ian Rogers
` (3 preceding siblings ...)
2023-09-14 21:19 ` [PATCH v1 4/5] perf test: Ensure EXTRA_TESTS is covered in build test Ian Rogers
@ 2023-09-14 21:19 ` Ian Rogers
2023-09-18 23:40 ` [PATCH v1 0/5] Enable BPF skeletons by default Namhyung Kim
2023-09-19 1:46 ` Yang Jihong
6 siblings, 0 replies; 14+ messages in thread
From: Ian Rogers @ 2023-09-14 21:19 UTC (permalink / raw)
To: Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo,
Mark Rutland, Alexander Shishkin, Jiri Olsa, Namhyung Kim,
Ian Rogers, Adrian Hunter, Nick Terrell, Nathan Chancellor,
Nick Desaulniers, Tom Rix, Andrii Nakryiko, Tiezhu Yang,
James Clark, Kajol Jain, Patrice Duroux, Athira Rajeev,
linux-perf-users, linux-kernel, bpf, llvm
Use perf version to detect whether BPF skeletons were enabled in a
build rather than a failing perf record.
Signed-off-by: Ian Rogers <irogers@google.com>
---
tools/perf/tests/shell/record_offcpu.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/perf/tests/shell/record_offcpu.sh b/tools/perf/tests/shell/record_offcpu.sh
index a0d14cd0aa79..a1ef8f0d2b5c 100755
--- a/tools/perf/tests/shell/record_offcpu.sh
+++ b/tools/perf/tests/shell/record_offcpu.sh
@@ -28,7 +28,7 @@ test_offcpu_priv() {
err=2
return
fi
- if perf record --off-cpu -o /dev/null --quiet true 2>&1 | grep BUILD_BPF_SKEL
+ if perf version --build-options 2>&1 | grep HAVE_BPF_SKEL | grep -q OFF
then
echo "off-cpu test [Skipped missing BPF support]"
err=2
--
2.42.0.459.ge4e396fd5e-goog
^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH v1 4/5] perf test: Ensure EXTRA_TESTS is covered in build test
2023-09-14 21:19 ` [PATCH v1 4/5] perf test: Ensure EXTRA_TESTS is covered in build test Ian Rogers
@ 2023-09-18 23:34 ` Namhyung Kim
2023-09-19 2:15 ` Ian Rogers
0 siblings, 1 reply; 14+ messages in thread
From: Namhyung Kim @ 2023-09-18 23:34 UTC (permalink / raw)
To: Ian Rogers
Cc: Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo,
Mark Rutland, Alexander Shishkin, Jiri Olsa, Adrian Hunter,
Nick Terrell, Nathan Chancellor, Nick Desaulniers, Tom Rix,
Andrii Nakryiko, Tiezhu Yang, James Clark, Kajol Jain,
Patrice Duroux, Athira Rajeev, linux-perf-users, linux-kernel,
bpf, llvm
Hi Ian,
On Thu, Sep 14, 2023 at 2:20 PM Ian Rogers <irogers@google.com> wrote:
>
> Add to run variable.
>
> Signed-off-by: Ian Rogers <irogers@google.com>
> ---
> tools/perf/tests/make | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/tools/perf/tests/make b/tools/perf/tests/make
> index a3a0f2a8bba0..d9945ed25bc5 100644
> --- a/tools/perf/tests/make
> +++ b/tools/perf/tests/make
> @@ -138,6 +138,7 @@ endif
> run += make_python_perf_so
> run += make_debug
> run += make_nondistro
> +run += make_extra_tests
I'm curious why it's missed.. I couldn't find a commit to delete it.
Maybe due to an incorrect resolution of a merge conflict?
Thanks,
Namhyung
> run += make_no_bpf_skel
> run += make_gen_vmlinux_h
> run += make_no_libperl
> --
> 2.42.0.459.ge4e396fd5e-goog
>
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH v1 0/5] Enable BPF skeletons by default
2023-09-14 21:19 [PATCH v1 0/5] Enable BPF skeletons by default Ian Rogers
` (4 preceding siblings ...)
2023-09-14 21:19 ` [PATCH v1 5/5] perf test: Detect off-cpu support from build options Ian Rogers
@ 2023-09-18 23:40 ` Namhyung Kim
2023-09-19 13:16 ` Arnaldo Carvalho de Melo
2023-09-19 1:46 ` Yang Jihong
6 siblings, 1 reply; 14+ messages in thread
From: Namhyung Kim @ 2023-09-18 23:40 UTC (permalink / raw)
To: Ian Rogers
Cc: Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo,
Mark Rutland, Alexander Shishkin, Jiri Olsa, Adrian Hunter,
Nick Terrell, Nathan Chancellor, Nick Desaulniers, Tom Rix,
Andrii Nakryiko, Tiezhu Yang, James Clark, Kajol Jain,
Patrice Duroux, Athira Rajeev, linux-perf-users, linux-kernel,
bpf, llvm
On Thu, Sep 14, 2023 at 2:20 PM Ian Rogers <irogers@google.com> wrote:
>
> Enable BPF skeletons by default but warn don't fail if they can't be
> supported. This was the intended behavior for Linux 6.4 but it caused
> an issue captured in this thread:
> https://lore.kernel.org/lkml/20230503211801.897735-1-acme@kernel.org/
>
> This issue isn't repeated here as the previous issue related to
> generating vmlinux.h, which is no longer performed by default as a
> checked-in vmlinux.h is used instead.
>
> Unlike with those changes, the BUILD_BPF_SKEL is kept and setting it
> to 0 disables BPF skeletons. Also, rather than fail the build due to a
> missed dependency, dependencies are checked and BPF skeletons disabled
> if they aren't present.
>
> Some related commits:
> b7a2d774c9c5 perf build: Add ability to build with a generated vmlinux.h
> a887466562b4 perf bpf skels: Stop using vmlinux.h generated from BTF, use subset of used structs + CO-RE
> a2af0f6b8ef7 perf build: Add system include paths to BPF builds
> 5be6cecda080 perf bpf skels: Make vmlinux.h use bpf.h and perf_event.h in source directory
> 9a2d5178b9d5 Revert "perf build: Make BUILD_BPF_SKEL default, rename to NO_BPF_SKEL"
> a887466562b4 perf bpf skels: Stop using vmlinux.h generated from BTF, use subset of used structs + CO-RE
> 1d7966547e11 perf build: Add warning for when vmlinux.h generation fails
> a980755beb5a perf build: Make BUILD_BPF_SKEL default, rename to NO_BPF_SKEL
>
> Ian Rogers (5):
> perf version: Add status of bpf skeletons
> perf build: Default BUILD_BPF_SKEL, warn/disable for missing deps
> perf test: Update build test for changed BPF skeleton defaults
> perf test: Ensure EXTRA_TESTS is covered in build test
> perf test: Detect off-cpu support from build options
Tested-by: Namhyung Kim <namhyung@kernel.org>
Thanks,
Namhyung
>
> tools/perf/Makefile.config | 78 ++++++++++++++++---------
> tools/perf/Makefile.perf | 8 +--
> tools/perf/builtin-version.c | 1 +
> tools/perf/tests/make | 7 ++-
> tools/perf/tests/shell/record_offcpu.sh | 2 +-
> 5 files changed, 59 insertions(+), 37 deletions(-)
>
> --
> 2.42.0.459.ge4e396fd5e-goog
>
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH v1 0/5] Enable BPF skeletons by default
2023-09-14 21:19 [PATCH v1 0/5] Enable BPF skeletons by default Ian Rogers
` (5 preceding siblings ...)
2023-09-18 23:40 ` [PATCH v1 0/5] Enable BPF skeletons by default Namhyung Kim
@ 2023-09-19 1:46 ` Yang Jihong
6 siblings, 0 replies; 14+ messages in thread
From: Yang Jihong @ 2023-09-19 1:46 UTC (permalink / raw)
To: Ian Rogers
Cc: Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo,
Mark Rutland, Alexander Shishkin, Jiri Olsa, Namhyung Kim,
Adrian Hunter, Nick Terrell, Nathan Chancellor, Nick Desaulniers,
Tom Rix, Andrii Nakryiko, Tiezhu Yang, James Clark, Kajol Jain,
Patrice Duroux, Athira Rajeev, linux-perf-users, linux-kernel,
bpf, llvm
Hello,
On 2023/9/15 5:19, Ian Rogers wrote:
> Enable BPF skeletons by default but warn don't fail if they can't be
> supported. This was the intended behavior for Linux 6.4 but it caused
> an issue captured in this thread:
> https://lore.kernel.org/lkml/20230503211801.897735-1-acme@kernel.org/
>
> This issue isn't repeated here as the previous issue related to
> generating vmlinux.h, which is no longer performed by default as a
> checked-in vmlinux.h is used instead.
>
> Unlike with those changes, the BUILD_BPF_SKEL is kept and setting it
> to 0 disables BPF skeletons. Also, rather than fail the build due to a
> missed dependency, dependencies are checked and BPF skeletons disabled
> if they aren't present.
>
> Some related commits:
> b7a2d774c9c5 perf build: Add ability to build with a generated vmlinux.h
> a887466562b4 perf bpf skels: Stop using vmlinux.h generated from BTF, use subset of used structs + CO-RE
> a2af0f6b8ef7 perf build: Add system include paths to BPF builds
> 5be6cecda080 perf bpf skels: Make vmlinux.h use bpf.h and perf_event.h in source directory
> 9a2d5178b9d5 Revert "perf build: Make BUILD_BPF_SKEL default, rename to NO_BPF_SKEL"
> a887466562b4 perf bpf skels: Stop using vmlinux.h generated from BTF, use subset of used structs + CO-RE
> 1d7966547e11 perf build: Add warning for when vmlinux.h generation fails
> a980755beb5a perf build: Make BUILD_BPF_SKEL default, rename to NO_BPF_SKEL
>
> Ian Rogers (5):
> perf version: Add status of bpf skeletons
> perf build: Default BUILD_BPF_SKEL, warn/disable for missing deps
> perf test: Update build test for changed BPF skeleton defaults
> perf test: Ensure EXTRA_TESTS is covered in build test
> perf test: Detect off-cpu support from build options
>
> tools/perf/Makefile.config | 78 ++++++++++++++++---------
> tools/perf/Makefile.perf | 8 +--
> tools/perf/builtin-version.c | 1 +
> tools/perf/tests/make | 7 ++-
> tools/perf/tests/shell/record_offcpu.sh | 2 +-
> 5 files changed, 59 insertions(+), 37 deletions(-)
>
Thanks for the patchset. The kwork feature has been tested, as show in
link[1].
Tested-by: Yang Jihong <yangjihong1@huawei.com>
[1]:
# perf version --build-options
perf version 6.6.rc1.g33ee1c1436b6
dwarf: [ on ] # HAVE_DWARF_SUPPORT
dwarf_getlocations: [ on ] # HAVE_DWARF_GETLOCATIONS_SUPPORT
syscall_table: [ on ] # HAVE_SYSCALL_TABLE_SUPPORT
libbfd: [ OFF ] # HAVE_LIBBFD_SUPPORT
debuginfod: [ OFF ] # HAVE_DEBUGINFOD_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: [ OFF ] # HAVE_LIBPYTHON_SUPPORT
libslang: [ OFF ] # 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
libtraceevent: [ on ] # HAVE_LIBTRACEEVENT
bpf_skeletons: [ on ] # HAVE_BPF_SKEL
# perf kwork rep -b
Starting trace, Hit <Ctrl+C> to stop and report
^C
Kwork Name | Cpu | Total Runtime | Count |
Max runtime | Max runtime start | Max runtime end |
--------------------------------------------------------------------------------------------------------------------------------
(w)flush_to_ldisc | 0003 | 2.188 ms | 2 |
1.685 ms | 49451.331861 s | 49451.333546 s |
(s)NET_RX:3 | 0002 | 1.278 ms | 3 |
0.517 ms | 49451.336568 s | 49451.337085 s |
(s)SCHED:7 | 0000 | 1.098 ms | 4 |
0.880 ms | 49451.332413 s | 49451.333293 s |
(w)flush_to_ldisc | 0003 | 1.081 ms | 1 |
1.081 ms | 49452.548841 s | 49452.549922 s |
(s)RCU:9 | 0001 | 0.894 ms | 2 |
0.864 ms | 49451.333580 s | 49451.334443 s |
(s)SCHED:7 | 0002 | 0.803 ms | 3 |
0.606 ms | 49452.551313 s | 49452.551918 s |
(s)SCHED:7 | 0001 | 0.452 ms | 3 |
0.278 ms | 49452.547514 s | 49452.547792 s |
eth0:10 | 0002 | 0.429 ms | 2 |
0.280 ms | 49451.336029 s | 49451.336309 s |
(w)vmstat_shepherd | 0000 | 0.402 ms | 1 |
0.402 ms | 49452.551022 s | 49452.551424 s |
(s)TIMER:1 | 0005 | 0.292 ms | 2 |
0.157 ms | 49452.168443 s | 49452.168600 s |
(s)SCHED:7 | 0005 | 0.175 ms | 2 |
0.098 ms | 49452.168614 s | 49452.168711 s |
(s)TIMER:1 | 0000 | 0.165 ms | 2 |
0.116 ms | 49452.550736 s | 49452.550852 s |
(s)RCU:9 | 0000 | 0.155 ms | 3 |
0.070 ms | 49451.339213 s | 49451.339282 s |
(s)TIMER:1 | 0006 | 0.153 ms | 2 |
0.087 ms | 49451.334483 s | 49451.334570 s |
(s)TIMER:1 | 0002 | 0.149 ms | 1 |
0.149 ms | 49452.546829 s | 49452.546978 s |
(s)TIMER:1 | 0004 | 0.141 ms | 1 |
0.141 ms | 49452.552581 s | 49452.552722 s |
(w)vmstat_update | 0002 | 0.139 ms | 1 |
0.139 ms | 49452.547366 s | 49452.547505 s |
(s)RCU:9 | 0004 | 0.139 ms | 2 |
0.106 ms | 49452.553196 s | 49452.553302 s |
virtio0-requests:25 | 0000 | 0.123 ms | 1 |
0.123 ms | 49452.550544 s | 49452.550667 s |
(s)RCU:9 | 0003 | 0.092 ms | 2 |
0.063 ms | 49451.334604 s | 49451.334667 s |
(s)SCHED:7 | 0003 | 0.086 ms | 1 |
0.086 ms | 49452.549525 s | 49452.549611 s |
(s)TIMER:1 | 0001 | 0.081 ms | 1 |
0.081 ms | 49451.544545 s | 49451.544626 s |
(s)TIMER:1 | 0003 | 0.079 ms | 1 |
0.079 ms | 49452.549420 s | 49452.549499 s |
(w)vmstat_update | 0000 | 0.060 ms | 1 |
0.060 ms | 49452.551474 s | 49452.551534 s |
(s)RCU:9 | 0002 | 0.047 ms | 1 |
0.047 ms | 49452.547171 s | 49452.547217 s |
(s)RCU:9 | 0005 | 0.035 ms | 1 |
0.035 ms | 49451.664719 s | 49451.664754 s |
(s)RCU:9 | 0006 | 0.029 ms | 1 |
0.029 ms | 49451.334593 s | 49451.334622 s |
--------------------------------------------------------------------------------------------------------------------------------
# perf kwork lat -b
Starting trace, Hit <Ctrl+C> to stop and report
^C
Kwork Name | Cpu | Avg delay | Count |
Max delay | Max delay start | Max delay end |
--------------------------------------------------------------------------------------------------------------------------------
(w)vmstat_update | 0005 | 1.444 ms | 1 |
1.444 ms | 49459.360837 s | 49459.362281 s |
(w)disk_events_workfn | 0005 | 0.745 ms | 1 |
0.745 ms | 49459.360745 s | 49459.361490 s |
(w)e1000_watchdog | 0002 | 0.745 ms | 1 |
0.745 ms | 49459.360745 s | 49459.361490 s |
(w)blk_mq_timeout_work | 0005 | 0.683 ms | 1 |
0.683 ms | 49457.632872 s | 49457.633555 s |
(s)RCU:9 | 0004 | 0.669 ms | 2 |
0.967 ms | 49457.484382 s | 49457.485349 s |
(s)RCU:9 | 0005 | 0.570 ms | 1 |
0.570 ms | 49457.632575 s | 49457.633146 s |
(w)vmstat_update | 0002 | 0.502 ms | 1 |
0.502 ms | 49459.169103 s | 49459.169605 s |
(s)RCU:9 | 0002 | 0.465 ms | 1 |
0.465 ms | 49459.168860 s | 49459.169325 s |
(w)ata_sff_pio_task | 0005 | 0.435 ms | 1 |
0.435 ms | 49459.361942 s | 49459.362377 s |
(s)SCHED:7 | 0005 | 0.327 ms | 2 |
0.406 ms | 49457.632634 s | 49457.633040 s |
(s)SCHED:7 | 0001 | 0.298 ms | 1 |
0.298 ms | 49457.484366 s | 49457.484664 s |
(s)RCU:9 | 0000 | 0.298 ms | 1 |
0.298 ms | 49459.578203 s | 49459.578501 s |
(s)RCU:9 | 0003 | 0.294 ms | 1 |
0.294 ms | 49459.363345 s | 49459.363638 s |
(s)SCHED:7 | 0002 | 0.277 ms | 2 |
0.339 ms | 49459.168911 s | 49459.169251 s |
(w)do_cache_clean | 0003 | 0.276 ms | 1 |
0.276 ms | 49459.363610 s | 49459.363886 s |
(w)vmstat_update | 0003 | 0.272 ms | 1 |
0.272 ms | 49459.363544 s | 49459.363815 s |
(w)blk_mq_requeue_work | 0002 | 0.233 ms | 3 |
0.376 ms | 49459.172895 s | 49459.173271 s |
(s)SCHED:7 | 0004 | 0.231 ms | 9 |
0.456 ms | 49459.573451 s | 49459.573908 s |
(s)TIMER:1 | 0000 | 0.217 ms | 1 |
0.217 ms | 49459.578169 s | 49459.578386 s |
(s)TIMER:1 | 0005 | 0.206 ms | 2 |
0.234 ms | 49457.632492 s | 49457.632726 s |
(s)TIMER:1 | 0002 | 0.194 ms | 2 |
0.203 ms | 49459.168794 s | 49459.168997 s |
(w)flush_to_ldisc | 0003 | 0.173 ms | 1 |
0.173 ms | 49459.575720 s | 49459.575893 s |
(s)TIMER:1 | 0006 | 0.171 ms | 1 |
0.171 ms | 49457.485465 s | 49457.485636 s |
(s)TIMER:1 | 0004 | 0.167 ms | 6 |
0.212 ms | 49457.696331 s | 49457.696543 s |
(s)RCU:9 | 0006 | 0.148 ms | 1 |
0.148 ms | 49457.485547 s | 49457.485696 s |
(s)TIMER:1 | 0003 | 0.147 ms | 1 |
0.147 ms | 49459.363301 s | 49459.363448 s |
(s)RCU:9 | 0001 | 0.132 ms | 2 |
0.173 ms | 49459.578156 s | 49459.578329 s |
(s)NET_RX:3 | 0002 | 0.117 ms | 4 |
0.225 ms | 49457.485058 s | 49457.485283 s |
(s)SCHED:7 | 0000 | 0.074 ms | 9 |
0.310 ms | 49457.484688 s | 49457.484998 s |
(s)BLOCK:4 | 0003 | 0.072 ms | 1 |
0.072 ms | 49459.362765 s | 49459.362837 s |
(s)SCHED:7 | 0003 | 0.064 ms | 1 |
0.064 ms | 49459.576487 s | 49459.576551 s |
(s)BLOCK:4 | 0002 | 0.057 ms | 4 |
0.107 ms | 49459.172252 s | 49459.172359 s |
--------------------------------------------------------------------------------------------------------------------------------
Thanks,
Yang
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH v1 4/5] perf test: Ensure EXTRA_TESTS is covered in build test
2023-09-18 23:34 ` Namhyung Kim
@ 2023-09-19 2:15 ` Ian Rogers
0 siblings, 0 replies; 14+ messages in thread
From: Ian Rogers @ 2023-09-19 2:15 UTC (permalink / raw)
To: Namhyung Kim
Cc: Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo,
Mark Rutland, Alexander Shishkin, Jiri Olsa, Adrian Hunter,
Nick Terrell, Nathan Chancellor, Nick Desaulniers, Tom Rix,
Andrii Nakryiko, Tiezhu Yang, James Clark, Kajol Jain,
Patrice Duroux, Athira Rajeev, linux-perf-users, linux-kernel,
bpf, llvm
On Mon, Sep 18, 2023 at 4:34 PM Namhyung Kim <namhyung@kernel.org> wrote:
>
> Hi Ian,
>
> On Thu, Sep 14, 2023 at 2:20 PM Ian Rogers <irogers@google.com> wrote:
> >
> > Add to run variable.
> >
> > Signed-off-by: Ian Rogers <irogers@google.com>
> > ---
> > tools/perf/tests/make | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > diff --git a/tools/perf/tests/make b/tools/perf/tests/make
> > index a3a0f2a8bba0..d9945ed25bc5 100644
> > --- a/tools/perf/tests/make
> > +++ b/tools/perf/tests/make
> > @@ -138,6 +138,7 @@ endif
> > run += make_python_perf_so
> > run += make_debug
> > run += make_nondistro
> > +run += make_extra_tests
>
> I'm curious why it's missed.. I couldn't find a commit to delete it.
> Maybe due to an incorrect resolution of a merge conflict?
I think it was just a mistake in the original patch:
https://lore.kernel.org/lkml/683fea7c-f5e9-fa20-f96b-f6233ed5d2a7@intel.com/
Thanks,
Ian
> Thanks,
> Namhyung
>
>
> > run += make_no_bpf_skel
> > run += make_gen_vmlinux_h
> > run += make_no_libperl
> > --
> > 2.42.0.459.ge4e396fd5e-goog
> >
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH v1 0/5] Enable BPF skeletons by default
2023-09-18 23:40 ` [PATCH v1 0/5] Enable BPF skeletons by default Namhyung Kim
@ 2023-09-19 13:16 ` Arnaldo Carvalho de Melo
2023-09-19 15:40 ` Ian Rogers
0 siblings, 1 reply; 14+ messages in thread
From: Arnaldo Carvalho de Melo @ 2023-09-19 13:16 UTC (permalink / raw)
To: Namhyung Kim
Cc: Ian Rogers, Peter Zijlstra, Ingo Molnar, Mark Rutland,
Alexander Shishkin, Jiri Olsa, Adrian Hunter, Nick Terrell,
Nathan Chancellor, Nick Desaulniers, Tom Rix, Andrii Nakryiko,
Tiezhu Yang, James Clark, Kajol Jain, Patrice Duroux,
Athira Rajeev, linux-perf-users, linux-kernel, bpf, llvm
Em Mon, Sep 18, 2023 at 04:40:15PM -0700, Namhyung Kim escreveu:
> On Thu, Sep 14, 2023 at 2:20 PM Ian Rogers <irogers@google.com> wrote:
> >
> > Enable BPF skeletons by default but warn don't fail if they can't be
> > supported. This was the intended behavior for Linux 6.4 but it caused
> > an issue captured in this thread:
> > https://lore.kernel.org/lkml/20230503211801.897735-1-acme@kernel.org/
> >
> > This issue isn't repeated here as the previous issue related to
> > generating vmlinux.h, which is no longer performed by default as a
> > checked-in vmlinux.h is used instead.
> >
> > Unlike with those changes, the BUILD_BPF_SKEL is kept and setting it
> > to 0 disables BPF skeletons. Also, rather than fail the build due to a
> > missed dependency, dependencies are checked and BPF skeletons disabled
> > if they aren't present.
> >
> > Some related commits:
> > b7a2d774c9c5 perf build: Add ability to build with a generated vmlinux.h
> > a887466562b4 perf bpf skels: Stop using vmlinux.h generated from BTF, use subset of used structs + CO-RE
> > a2af0f6b8ef7 perf build: Add system include paths to BPF builds
> > 5be6cecda080 perf bpf skels: Make vmlinux.h use bpf.h and perf_event.h in source directory
> > 9a2d5178b9d5 Revert "perf build: Make BUILD_BPF_SKEL default, rename to NO_BPF_SKEL"
> > a887466562b4 perf bpf skels: Stop using vmlinux.h generated from BTF, use subset of used structs + CO-RE
> > 1d7966547e11 perf build: Add warning for when vmlinux.h generation fails
> > a980755beb5a perf build: Make BUILD_BPF_SKEL default, rename to NO_BPF_SKEL
> >
> > Ian Rogers (5):
> > perf version: Add status of bpf skeletons
> > perf build: Default BUILD_BPF_SKEL, warn/disable for missing deps
> > perf test: Update build test for changed BPF skeleton defaults
> > perf test: Ensure EXTRA_TESTS is covered in build test
> > perf test: Detect off-cpu support from build options
>
> Tested-by: Namhyung Kim <namhyung@kernel.org>
Is this verbose by default now? Maybe its something on my side, but I
noticed a higher level of verbosity, can you check?
- Arnaldo
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH v1 0/5] Enable BPF skeletons by default
2023-09-19 13:16 ` Arnaldo Carvalho de Melo
@ 2023-09-19 15:40 ` Ian Rogers
2023-09-20 4:11 ` Namhyung Kim
0 siblings, 1 reply; 14+ messages in thread
From: Ian Rogers @ 2023-09-19 15:40 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo
Cc: Namhyung Kim, Peter Zijlstra, Ingo Molnar, Mark Rutland,
Alexander Shishkin, Jiri Olsa, Adrian Hunter, Nick Terrell,
Nathan Chancellor, Nick Desaulniers, Tom Rix, Andrii Nakryiko,
Tiezhu Yang, James Clark, Kajol Jain, Patrice Duroux,
Athira Rajeev, linux-perf-users, linux-kernel, bpf, llvm
On Tue, Sep 19, 2023 at 6:16 AM Arnaldo Carvalho de Melo
<acme@kernel.org> wrote:
>
> Em Mon, Sep 18, 2023 at 04:40:15PM -0700, Namhyung Kim escreveu:
> > On Thu, Sep 14, 2023 at 2:20 PM Ian Rogers <irogers@google.com> wrote:
> > >
> > > Enable BPF skeletons by default but warn don't fail if they can't be
> > > supported. This was the intended behavior for Linux 6.4 but it caused
> > > an issue captured in this thread:
> > > https://lore.kernel.org/lkml/20230503211801.897735-1-acme@kernel.org/
> > >
> > > This issue isn't repeated here as the previous issue related to
> > > generating vmlinux.h, which is no longer performed by default as a
> > > checked-in vmlinux.h is used instead.
> > >
> > > Unlike with those changes, the BUILD_BPF_SKEL is kept and setting it
> > > to 0 disables BPF skeletons. Also, rather than fail the build due to a
> > > missed dependency, dependencies are checked and BPF skeletons disabled
> > > if they aren't present.
> > >
> > > Some related commits:
> > > b7a2d774c9c5 perf build: Add ability to build with a generated vmlinux.h
> > > a887466562b4 perf bpf skels: Stop using vmlinux.h generated from BTF, use subset of used structs + CO-RE
> > > a2af0f6b8ef7 perf build: Add system include paths to BPF builds
> > > 5be6cecda080 perf bpf skels: Make vmlinux.h use bpf.h and perf_event.h in source directory
> > > 9a2d5178b9d5 Revert "perf build: Make BUILD_BPF_SKEL default, rename to NO_BPF_SKEL"
> > > a887466562b4 perf bpf skels: Stop using vmlinux.h generated from BTF, use subset of used structs + CO-RE
> > > 1d7966547e11 perf build: Add warning for when vmlinux.h generation fails
> > > a980755beb5a perf build: Make BUILD_BPF_SKEL default, rename to NO_BPF_SKEL
> > >
> > > Ian Rogers (5):
> > > perf version: Add status of bpf skeletons
> > > perf build: Default BUILD_BPF_SKEL, warn/disable for missing deps
> > > perf test: Update build test for changed BPF skeleton defaults
> > > perf test: Ensure EXTRA_TESTS is covered in build test
> > > perf test: Detect off-cpu support from build options
> >
> > Tested-by: Namhyung Kim <namhyung@kernel.org>
>
> Is this verbose by default now? Maybe its something on my side, but I
> noticed a higher level of verbosity, can you check?
I don't see more verbosity. Logs below.
Thanks,
Ian
$ git fetch --all
$ git checkout -b ptn-clean ptn/perf-tools-next
$ b4 am 20230914211948.814999-1-irogers@google.com
$ git am ./20230914_irogers_enable_bpf_skeletons_by_default.mbx
$ make -C tools/perf O=/tmp/perf clean
make: Entering directory 'tools/perf'
CLEAN x86
CLEAN libapi
CLEAN libbpf
CLEAN libsubcmd
CLEAN libsymbol
CLEAN libperf
CLEAN fixdep
CLEAN feature-detect
CLEAN python
CLEAN bpf-skel
CLEAN coresight
CLEAN core-objs
CLEAN core-progs
CLEAN core-gen
CLEAN Documentation
make: Leaving directory 'tools/perf'
$ make -C tools/perf O=/tmp/perf
make: Entering directory 'tools/perf'
BUILD: Doing 'make -j8' parallel build
HOSTCC /tmp/perf/fixdep.o
HOSTLD /tmp/perf/fixdep-in.o
LINK /tmp/perf/fixdep
Warning: Kernel ABI header differences:
diff -u tools/include/uapi/drm/drm.h include/uapi/drm/drm.h
diff -u tools/include/uapi/linux/kvm.h include/uapi/linux/kvm.h
diff -u tools/include/uapi/linux/mount.h include/uapi/linux/mount.h
diff -u tools/arch/x86/include/asm/disabled-features.h
arch/x86/include/asm/disabled-features.h
diff -u tools/arch/x86/include/asm/cpufeatures.h
arch/x86/include/asm/cpufeatures.h
diff -u tools/arch/x86/include/asm/msr-index.h arch/x86/include/asm/msr-index.h
diff -u tools/arch/x86/include/uapi/asm/prctl.h
arch/x86/include/uapi/asm/prctl.h
diff -u tools/arch/arm64/include/uapi/asm/perf_regs.h
arch/arm64/include/uapi/asm/perf_regs.h
diff -u tools/arch/s390/include/uapi/asm/kvm.h arch/s390/include/uapi/asm/kvm.h
diff -u tools/include/uapi/asm-generic/unistd.h
include/uapi/asm-generic/unistd.h
diff -u tools/perf/arch/x86/entry/syscalls/syscall_64.tbl
arch/x86/entry/syscalls/syscall_64.tbl
diff -u tools/perf/arch/powerpc/entry/syscalls/syscall.tbl
arch/powerpc/kernel/syscalls/syscall.tbl
diff -u tools/perf/arch/s390/entry/syscalls/syscall.tbl
arch/s390/kernel/syscalls/syscall.tbl
diff -u tools/perf/arch/mips/entry/syscalls/syscall_n64.tbl
arch/mips/kernel/syscalls/syscall_n64.tbl
diff -u tools/perf/util/hashmap.h tools/lib/bpf/hashmap.h
Makefile.config:607: No sys/sdt.h found, no SDT events are defined,
please install systemtap-sdt-devel or systemtap-sdt-dev
Makefile.config:1009: No libcap found, disables capability support,
please install libcap-devel/libcap-dev
Makefile.config:1022: No numa.h found, disables 'perf bench numa mem'
benchmark, please install numactl-devel/libnuma-devel/libnuma-dev
Makefile.config:1081: No libbabeltrace found, disables 'perf data' CTF
format support, please install
libbabeltrace-dev[el]/libbabeltrace-ctf-dev
Auto-detecting system features:
... dwarf: [ on ]
... dwarf_getlocations: [ on ]
... glibc: [ on ]
... libbfd: [ on ]
... libbfd-buildid: [ on ]
... libcap: [ OFF ]
... libelf: [ on ]
... libnuma: [ OFF ]
... numa_num_possible_cpus: [ OFF ]
... libperl: [ on ]
... libpython: [ on ]
... libcrypto: [ on ]
... libunwind: [ on ]
... libdw-dwarf-unwind: [ on ]
... zlib: [ on ]
... lzma: [ on ]
... get_cpuid: [ on ]
... bpf: [ on ]
... libaio: [ on ]
... libzstd: [ on ]
GEN /tmp/perf/common-cmds.h
CC /tmp/perf/jvmti/libjvmti.o
CC /tmp/perf/dlfilters/dlfilter-test-api-v0.o
CC /tmp/perf/dlfilters/dlfilter-test-api-v2.o
CC /tmp/perf/dlfilters/dlfilter-show-cycles.o
CC /tmp/perf/jvmti/jvmti_agent.o
MKDIR /tmp/perf/libapi/fd/
INSTALL /tmp/perf/libapi/include/api/cpu.h
CC /tmp/perf/libapi/fd/array.o
INSTALL /tmp/perf/libapi/include/api/debug.h
INSTALL /tmp/perf/libapi/include/api/io.h
PERF_VERSION = 6.6.rc1.gda192f0aaa30
CC /tmp/perf/jvmti/libstring.o
CC /tmp/perf/jvmti/libctype.o
LD /tmp/perf/libapi/fd/libapi-in.o
MKDIR /tmp/perf/libapi/fs/
CC /tmp/perf/libperf/core.o
CC /tmp/perf/libapi/fs/fs.o
CC /tmp/perf/libperf/cpumap.o
CC /tmp/perf/libsubcmd/exec-cmd.o
CC /tmp/perf/libperf/threadmap.o
INSTALL /tmp/perf/libperf/include/perf/bpf_perf.h
LD /tmp/perf/jvmti/jvmti-in.o
INSTALL /tmp/perf/libperf/include/perf/core.h
INSTALL /tmp/perf/libapi/include/api/fd/array.h
INSTALL /tmp/perf/libsubcmd/include/subcmd/exec-cmd.h
INSTALL /tmp/perf/libapi/include/api/fs/fs.h
INSTALL /tmp/perf/libsubcmd/include/subcmd/help.h
INSTALL /tmp/perf/libsubcmd/include/subcmd/pager.h
INSTALL /tmp/perf/libapi/include/api/fs/tracing_path.h
CC /tmp/perf/libperf/evsel.o
CC /tmp/perf/libperf/evlist.o
INSTALL libapi_headers
CC /tmp/perf/libperf/mmap.o
CC /tmp/perf/libperf/zalloc.o
CC /tmp/perf/libsymbol/kallsyms.o
CC /tmp/perf/libperf/xyarray.o
CC /tmp/perf/libperf/lib.o
CC /tmp/perf/libsubcmd/help.o
MKDIR /tmp/perf/libapi/fs/
CC /tmp/perf/libapi/fs/tracing_path.o
CC /tmp/perf/libsubcmd/pager.o
INSTALL /tmp/perf/libperf/include/perf/cpumap.h
CC /tmp/perf/libapi/cpu.o
INSTALL /tmp/perf/libperf/include/perf/threadmap.h
INSTALL /tmp/perf/libperf/include/perf/evlist.h
INSTALL /tmp/perf/libperf/include/perf/evsel.h
INSTALL /tmp/perf/libperf/include/perf/event.h
INSTALL /tmp/perf/libperf/include/perf/mmap.h
INSTALL /tmp/perf/libperf/include/internal/cpumap.h
INSTALL /tmp/perf/libperf/include/internal/evlist.h
INSTALL /tmp/perf/libperf/include/internal/evsel.h
LD /tmp/perf/libsymbol/libsymbol-in.o
LD /tmp/perf/libperf/libperf-in.o
INSTALL /tmp/perf/libperf/include/internal/lib.h
INSTALL /tmp/perf/libperf/include/internal/mmap.h
INSTALL /tmp/perf/libsymbol/include/symbol/kallsyms.h
INSTALL /tmp/perf/libsubcmd/include/subcmd/parse-options.h
INSTALL /tmp/perf/libperf/include/internal/rc_check.h
CC /tmp/perf/libapi/fs/cgroup.o
INSTALL /tmp/perf/libperf/include/internal/threadmap.h
INSTALL /tmp/perf/libsubcmd/include/subcmd/run-command.h
AR /tmp/perf/libsymbol/libsymbol.a
INSTALL /tmp/perf/libperf/include/internal/xyarray.h
INSTALL libsymbol_headers
INSTALL libsubcmd_headers
LINK /tmp/perf/libperf-jvmti.so
AR /tmp/perf/libperf/libperf.a
GEN perf-archive
GEN perf-iostat
LINK /tmp/perf/dlfilters/dlfilter-test-api-v0.so
CC /tmp/perf/libsubcmd/parse-options.o
LD /tmp/perf/libapi/fs/libapi-in.o
GEN /tmp/perf/libbpf/bpf_helper_defs.h
CC /tmp/perf/libapi/debug.o
LINK /tmp/perf/dlfilters/dlfilter-test-api-v2.so
LINK /tmp/perf/dlfilters/dlfilter-show-cycles.so
INSTALL libperf_headers
CC /tmp/perf/libapi/str_error_r.o
INSTALL /tmp/perf/libbpf/include/bpf/bpf.h
INSTALL /tmp/perf/libbpf/include/bpf/libbpf.h
CC /tmp/perf/libsubcmd/run-command.o
INSTALL /tmp/perf/libbpf/include/bpf/btf.h
INSTALL /tmp/perf/libbpf/include/bpf/libbpf_common.h
INSTALL /tmp/perf/libbpf/include/bpf/libbpf_legacy.h
INSTALL /tmp/perf/libbpf/include/bpf/bpf_helpers.h
INSTALL /tmp/perf/libbpf/include/bpf/bpf_tracing.h
INSTALL /tmp/perf/libbpf/include/bpf/bpf_endian.h
INSTALL /tmp/perf/libbpf/include/bpf/bpf_core_read.h
INSTALL /tmp/perf/libbpf/include/bpf/skel_internal.h
INSTALL /tmp/perf/libbpf/include/bpf/libbpf_version.h
LD /tmp/perf/libapi/libapi-in.o
INSTALL /tmp/perf/libbpf/include/bpf/bpf_helper_defs.h
CC /tmp/perf/libsubcmd/sigchain.o
MKDIR /tmp/perf/libbpf/staticobjs/
CC /tmp/perf/libbpf/staticobjs/libbpf.o
AR /tmp/perf/libapi/libapi.a
CC /tmp/perf/libsubcmd/subcmd-config.o
INSTALL /tmp/perf/libbpf/include/bpf/usdt.bpf.h
INSTALL libbpf_headers
MKDIR /tmp/perf/libbpf/staticobjs/
CC /tmp/perf/libbpf/staticobjs/bpf.o
CC /tmp/perf/libbpf/staticobjs/nlattr.o
CC /tmp/perf/libbpf/staticobjs/btf.o
CC /tmp/perf/libbpf/staticobjs/libbpf_errno.o
CC /tmp/perf/libbpf/staticobjs/str_error.o
CC /tmp/perf/libbpf/staticobjs/netlink.o
CC /tmp/perf/libbpf/staticobjs/bpf_prog_linfo.o
CC /tmp/perf/libbpf/staticobjs/libbpf_probes.o
CC /tmp/perf/libbpf/staticobjs/hashmap.o
LD /tmp/perf/libsubcmd/libsubcmd-in.o
AR /tmp/perf/libsubcmd/libsubcmd.a
CC /tmp/perf/libbpf/staticobjs/btf_dump.o
CC /tmp/perf/libbpf/staticobjs/ringbuf.o
GEN /tmp/perf/python/perf.cpython-311-x86_64-linux-gnu.so
CC /tmp/perf/libbpf/staticobjs/strset.o
CC /tmp/perf/libbpf/staticobjs/linker.o
CC /tmp/perf/libbpf/staticobjs/gen_loader.o
CC /tmp/perf/libbpf/staticobjs/relo_core.o
Auto-detecting system features:
... clang-bpf-co-re: [ on ]
... llvm: [ OFF ]
... libcap: [ OFF ]
... libbfd: [ on ]
MKDIR /tmp/perf/util/bpf_skel/.tmp/bootstrap/libbpf/include/bpf
MKDIR /tmp/perf/util/bpf_skel/.tmp/bootstrap/
MKDIR /tmp/perf/util/bpf_skel/.tmp/bootstrap/libbpf/
INSTALL /tmp/perf/util/bpf_skel/.tmp/bootstrap/libbpf/include/bpf/hashmap.h
INSTALL /tmp/perf/util/bpf_skel/.tmp/bootstrap/libbpf/include/bpf/relo_core.h
INSTALL /tmp/perf/util/bpf_skel/.tmp/bootstrap/libbpf/include/bpf/libbpf_internal.h
GEN /tmp/perf/util/bpf_skel/.tmp/bootstrap/libbpf/bpf_helper_defs.h
INSTALL /tmp/perf/util/bpf_skel/.tmp/bootstrap/libbpf/include/bpf/bpf.h
INSTALL /tmp/perf/util/bpf_skel/.tmp/bootstrap/libbpf/include/bpf/libbpf.h
INSTALL /tmp/perf/util/bpf_skel/.tmp/bootstrap/libbpf/include/bpf/btf.h
INSTALL /tmp/perf/util/bpf_skel/.tmp/bootstrap/libbpf/include/bpf/libbpf_common.h
INSTALL /tmp/perf/util/bpf_skel/.tmp/bootstrap/libbpf/include/bpf/libbpf_legacy.h
INSTALL /tmp/perf/util/bpf_skel/.tmp/bootstrap/libbpf/include/bpf/bpf_helpers.h
INSTALL /tmp/perf/util/bpf_skel/.tmp/bootstrap/libbpf/include/bpf/bpf_tracing.h
INSTALL /tmp/perf/util/bpf_skel/.tmp/bootstrap/libbpf/include/bpf/bpf_endian.h
INSTALL /tmp/perf/util/bpf_skel/.tmp/bootstrap/libbpf/include/bpf/bpf_core_read.h
INSTALL /tmp/perf/util/bpf_skel/.tmp/bootstrap/libbpf/include/bpf/skel_internal.h
INSTALL /tmp/perf/util/bpf_skel/.tmp/bootstrap/libbpf/include/bpf/libbpf_version.h
INSTALL /tmp/perf/util/bpf_skel/.tmp/bootstrap/libbpf/include/bpf/usdt.bpf.h
INSTALL /tmp/perf/util/bpf_skel/.tmp/bootstrap/libbpf/include/bpf/bpf_helper_defs.h
MKDIR /tmp/perf/util/bpf_skel/.tmp/bootstrap/libbpf/staticobjs/
CC /tmp/perf/util/bpf_skel/.tmp/bootstrap/libbpf/staticobjs/libbpf.o
CC /tmp/perf/libbpf/staticobjs/usdt.o
CC /tmp/perf/libbpf/staticobjs/zip.o
CC /tmp/perf/libbpf/staticobjs/elf.o
MKDIR /tmp/perf/util/bpf_skel/.tmp/bootstrap/libbpf/staticobjs/
CC /tmp/perf/util/bpf_skel/.tmp/bootstrap/libbpf/staticobjs/bpf.o
CC /tmp/perf/util/bpf_skel/.tmp/bootstrap/libbpf/staticobjs/nlattr.o
CC /tmp/perf/util/bpf_skel/.tmp/bootstrap/libbpf/staticobjs/btf.o
CC /tmp/perf/util/bpf_skel/.tmp/bootstrap/libbpf/staticobjs/libbpf_errno.o
CC /tmp/perf/util/bpf_skel/.tmp/bootstrap/libbpf/staticobjs/str_error.o
CC /tmp/perf/util/bpf_skel/.tmp/bootstrap/libbpf/staticobjs/netlink.o
CC /tmp/perf/util/bpf_skel/.tmp/bootstrap/libbpf/staticobjs/bpf_prog_linfo.o
CC /tmp/perf/util/bpf_skel/.tmp/bootstrap/libbpf/staticobjs/libbpf_probes.o
CC /tmp/perf/util/bpf_skel/.tmp/bootstrap/libbpf/staticobjs/hashmap.o
CC /tmp/perf/util/bpf_skel/.tmp/bootstrap/libbpf/staticobjs/btf_dump.o
CC /tmp/perf/util/bpf_skel/.tmp/bootstrap/libbpf/staticobjs/ringbuf.o
CC /tmp/perf/util/bpf_skel/.tmp/bootstrap/libbpf/staticobjs/strset.o
CC /tmp/perf/util/bpf_skel/.tmp/bootstrap/libbpf/staticobjs/linker.o
CC /tmp/perf/util/bpf_skel/.tmp/bootstrap/libbpf/staticobjs/gen_loader.o
CC /tmp/perf/util/bpf_skel/.tmp/bootstrap/libbpf/staticobjs/relo_core.o
CC /tmp/perf/util/bpf_skel/.tmp/bootstrap/libbpf/staticobjs/usdt.o
CC /tmp/perf/util/bpf_skel/.tmp/bootstrap/libbpf/staticobjs/zip.o
CC /tmp/perf/util/bpf_skel/.tmp/bootstrap/libbpf/staticobjs/elf.o
INSTALL libbpf_headers
LD /tmp/perf/libbpf/staticobjs/libbpf-in.o
LINK /tmp/perf/libbpf/libbpf.a
LD /tmp/perf/util/bpf_skel/.tmp/bootstrap/libbpf/staticobjs/libbpf-in.o
LINK /tmp/perf/util/bpf_skel/.tmp/bootstrap/libbpf/libbpf.a
CC /tmp/perf/util/bpf_skel/.tmp/bootstrap/main.o
CC /tmp/perf/util/bpf_skel/.tmp/bootstrap/common.o
CC /tmp/perf/util/bpf_skel/.tmp/bootstrap/json_writer.o
CC /tmp/perf/util/bpf_skel/.tmp/bootstrap/gen.o
CC /tmp/perf/util/bpf_skel/.tmp/bootstrap/btf.o
CC /tmp/perf/util/bpf_skel/.tmp/bootstrap/xlated_dumper.o
CC /tmp/perf/util/bpf_skel/.tmp/bootstrap/btf_dumper.o
CC /tmp/perf/util/bpf_skel/.tmp/bootstrap/disasm.o
LINK /tmp/perf/util/bpf_skel/.tmp/bootstrap/bpftool
CLANG /tmp/perf/util/bpf_skel/.tmp/bpf_prog_profiler.bpf.o
CLANG /tmp/perf/util/bpf_skel/.tmp/bperf_leader.bpf.o
CLANG /tmp/perf/util/bpf_skel/.tmp/bperf_follower.bpf.o
CLANG /tmp/perf/util/bpf_skel/.tmp/bperf_cgroup.bpf.o
CLANG /tmp/perf/util/bpf_skel/.tmp/func_latency.bpf.o
CLANG /tmp/perf/util/bpf_skel/.tmp/off_cpu.bpf.o
CLANG /tmp/perf/util/bpf_skel/.tmp/lock_contention.bpf.o
CLANG /tmp/perf/util/bpf_skel/.tmp/kwork_trace.bpf.o
CLANG /tmp/perf/util/bpf_skel/.tmp/sample_filter.bpf.o
CLANG /tmp/perf/util/bpf_skel/.tmp/kwork_top.bpf.o
CLANG /tmp/perf/util/bpf_skel/.tmp/bench_uprobe.bpf.o
CLANG /tmp/perf/util/bpf_skel/.tmp/augmented_raw_syscalls.bpf.o
GENSKEL /tmp/perf/util/bpf_skel/bpf_prog_profiler.skel.h
GENSKEL /tmp/perf/util/bpf_skel/bperf_leader.skel.h
GENSKEL /tmp/perf/util/bpf_skel/bperf_follower.skel.h
GENSKEL /tmp/perf/util/bpf_skel/bperf_cgroup.skel.h
GENSKEL /tmp/perf/util/bpf_skel/func_latency.skel.h
GENSKEL /tmp/perf/util/bpf_skel/off_cpu.skel.h
GENSKEL /tmp/perf/util/bpf_skel/bench_uprobe.skel.h
GENSKEL /tmp/perf/util/bpf_skel/lock_contention.skel.h
GENSKEL /tmp/perf/util/bpf_skel/kwork_top.skel.h
GENSKEL /tmp/perf/util/bpf_skel/sample_filter.skel.h
GENSKEL /tmp/perf/util/bpf_skel/augmented_raw_syscalls.skel.h
GENSKEL /tmp/perf/util/bpf_skel/kwork_trace.skel.h
CC /tmp/perf/builtin-bench.o
CC /tmp/perf/builtin-annotate.o
CC /tmp/perf/builtin-config.o
CC /tmp/perf/builtin-diff.o
CC /tmp/perf/builtin-evlist.o
CC /tmp/perf/builtin-ftrace.o
TEST /tmp/perf/pmu-events/metric_test.log
GEN /tmp/perf/pmu-events/pmu-events.c
CC /tmp/perf/builtin-help.o
CC /tmp/perf/builtin-buildid-list.o
CC /tmp/perf/builtin-buildid-cache.o
CC /tmp/perf/builtin-kallsyms.o
CC /tmp/perf/builtin-list.o
CC /tmp/perf/builtin-record.o
CC /tmp/perf/builtin-report.o
CC /tmp/perf/builtin-stat.o
CC /tmp/perf/builtin-top.o
CC /tmp/perf/builtin-script.o
CC /tmp/perf/builtin-kvm.o
CC /tmp/perf/builtin-inject.o
CC /tmp/perf/builtin-mem.o
CC /tmp/perf/builtin-data.o
CC /tmp/perf/builtin-version.o
CC /tmp/perf/builtin-c2c.o
CC /tmp/perf/builtin-daemon.o
CC /tmp/perf/builtin-kmem.o
CC /tmp/perf/builtin-kwork.o
CC /tmp/perf/builtin-lock.o
CC /tmp/perf/builtin-sched.o
CC /tmp/perf/builtin-timechart.o
CC /tmp/perf/builtin-trace.o
CC /tmp/perf/trace/beauty/clone.o
CC /tmp/perf/bench/sched-messaging.o
CC /tmp/perf/tests/builtin-test.o
CC /tmp/perf/bench/sched-pipe.o
CC /tmp/perf/bench/sched-seccomp-notify.o
CC /tmp/perf/util/arm64-frame-pointer-unwind-support.o
CC /tmp/perf/trace/beauty/fcntl.o
CC /tmp/perf/bench/syscall.o
CC /tmp/perf/util/addr_location.o
CC /tmp/perf/trace/beauty/flock.o
CC /tmp/perf/bench/mem-functions.o
CC /tmp/perf/util/annotate.o
CC /tmp/perf/tests/builtin-test-list.o
CC /tmp/perf/trace/beauty/fsmount.o
CC /tmp/perf/bench/futex-hash.o
CC /tmp/perf/trace/beauty/fspick.o
CC /tmp/perf/arch/common.o
CC /tmp/perf/arch/x86/util/header.o
CC /tmp/perf/tests/parse-events.o
CC /tmp/perf/trace/beauty/ioctl.o
CC /tmp/perf/bench/futex-wake.o
CC /tmp/perf/arch/x86/util/tsc.o
CC /tmp/perf/trace/beauty/kcmp.o
CC /tmp/perf/bench/futex-wake-parallel.o
CC /tmp/perf/trace/beauty/mount_flags.o
CC /tmp/perf/bench/futex-requeue.o
CC /tmp/perf/arch/x86/util/pmu.o
CC /tmp/perf/trace/beauty/move_mount.o
CC /tmp/perf/trace/beauty/pkey_alloc.o
CC /tmp/perf/arch/x86/util/kvm-stat.o
CC /tmp/perf/bench/futex-lock-pi.o
CC /tmp/perf/trace/beauty/arch_prctl.o
CC /tmp/perf/bench/epoll-wait.o
CC /tmp/perf/trace/beauty/prctl.o
CC /tmp/perf/arch/x86/util/perf_regs.o
CC /tmp/perf/bench/epoll-ctl.o
CC /tmp/perf/pmu-events/pmu-events.o
CC /tmp/perf/trace/beauty/renameat.o
CC /tmp/perf/bench/synthesize.o
CC /tmp/perf/trace/beauty/sockaddr.o
CC /tmp/perf/arch/x86/util/topdown.o
CC /tmp/perf/bench/kallsyms-parse.o
CC /tmp/perf/trace/beauty/socket.o
CC /tmp/perf/arch/x86/util/machine.o
CC /tmp/perf/trace/beauty/statx.o
CC /tmp/perf/bench/find-bit-bench.o
CC /tmp/perf/arch/x86/util/event.o
CC /tmp/perf/bench/inject-buildid.o
CC /tmp/perf/trace/beauty/sync_file_range.o
CC /tmp/perf/bench/evlist-open-close.o
CC /tmp/perf/arch/x86/util/evlist.o
CC /tmp/perf/trace/beauty/timespec.o
CC /tmp/perf/trace/beauty/tracepoints/x86_irq_vectors.o
CC /tmp/perf/trace/beauty/tracepoints/x86_msr.o
CC /tmp/perf/arch/x86/util/mem-events.o
CC /tmp/perf/bench/breakpoint.o
LD /tmp/perf/trace/beauty/tracepoints/perf-in.o
LD /tmp/perf/trace/beauty/perf-in.o
CC /tmp/perf/ui/setup.o
CC /tmp/perf/scripts/perl/Perf-Trace-Util/Context.o
CC /tmp/perf/ui/helpline.o
CC /tmp/perf/arch/x86/util/evsel.o
CC /tmp/perf/util/block-info.o
CC /tmp/perf/ui/progress.o
CC /tmp/perf/ui/util.o
CC /tmp/perf/arch/x86/util/iostat.o
CC /tmp/perf/bench/pmu-scan.o
CC /tmp/perf/ui/hist.o
CC /tmp/perf/tests/dso-data.o
CC /tmp/perf/ui/stdio/hist.o
CC /tmp/perf/bench/uprobe.o
LD /tmp/perf/scripts/perl/Perf-Trace-Util/perf-in.o
CC /tmp/perf/arch/x86/util/env.o
CC /tmp/perf/scripts/python/Perf-Trace-Util/Context.o
CC /tmp/perf/util/block-range.o
CC /tmp/perf/tests/attr.o
CC /tmp/perf/bench/mem-memcpy-x86-64-asm.o
CC /tmp/perf/arch/x86/util/dwarf-regs.o
CC /tmp/perf/bench/mem-memset-x86-64-asm.o
LD /tmp/perf/bench/perf-in.o
CC /tmp/perf/builtin-probe.o
CC /tmp/perf/arch/x86/util/unwind-libunwind.o
CC /tmp/perf/util/build-id.o
CC /tmp/perf/tests/vmlinux-kallsyms.o
CC /tmp/perf/arch/x86/util/auxtrace.o
LD /tmp/perf/scripts/python/Perf-Trace-Util/perf-in.o
LD /tmp/perf/scripts/perf-in.o
CC /tmp/perf/perf.o
CC /tmp/perf/arch/x86/util/archinsn.o
CC /tmp/perf/tests/openat-syscall.o
CC /tmp/perf/arch/x86/util/intel-pt.o
CC /tmp/perf/tests/openat-syscall-all-cpus.o
CC /tmp/perf/tests/openat-syscall-tp-fields.o
CC /tmp/perf/tests/mmap-basic.o
CC /tmp/perf/ui/browser.o
CC /tmp/perf/ui/browsers/annotate.o
CC /tmp/perf/util/cacheline.o
CC /tmp/perf/ui/browsers/hists.o
CC /tmp/perf/util/config.o
CC /tmp/perf/tests/perf-record.o
CC /tmp/perf/tests/evsel-roundtrip-name.o
CC /tmp/perf/arch/x86/util/intel-bts.o
CC /tmp/perf/ui/tui/setup.o
CC /tmp/perf/tests/evsel-tp-sched.o
CC /tmp/perf/ui/tui/util.o
CC /tmp/perf/ui/browsers/map.o
CC /tmp/perf/tests/fdarray.o
CC /tmp/perf/ui/browsers/scripts.o
CC /tmp/perf/ui/browsers/header.o
CC /tmp/perf/ui/tui/helpline.o
LD /tmp/perf/arch/x86/util/perf-in.o
CC /tmp/perf/arch/x86/tests/regs_load.o
CC /tmp/perf/util/copyfile.o
CC /tmp/perf/ui/tui/progress.o
CC /tmp/perf/arch/x86/tests/dwarf-unwind.o
CC /tmp/perf/tests/pmu.o
CC /tmp/perf/ui/browsers/res_sample.o
LD /tmp/perf/ui/tui/perf-in.o
CC /tmp/perf/tests/pmu-events.o
CC /tmp/perf/tests/hists_common.o
CC /tmp/perf/util/ctype.o
CC /tmp/perf/util/db-export.o
CC /tmp/perf/arch/x86/tests/arch-tests.o
CC /tmp/perf/tests/hists_link.o
CC /tmp/perf/arch/x86/tests/sample-parsing.o
CC /tmp/perf/arch/x86/tests/hybrid.o
CC /tmp/perf/tests/hists_filter.o
CC /tmp/perf/arch/x86/tests/intel-pt-test.o
CC /tmp/perf/tests/hists_output.o
CC /tmp/perf/arch/x86/tests/bp-modify.o
CC /tmp/perf/arch/x86/tests/amd-ibs-via-core-pmu.o
CC /tmp/perf/util/env.o
CC /tmp/perf/tests/hists_cumulate.o
CC /tmp/perf/tests/python-use.o
LD /tmp/perf/arch/x86/tests/perf-in.o
LD /tmp/perf/arch/x86/perf-in.o
LD /tmp/perf/pmu-events/pmu-events-in.o
CC /tmp/perf/tests/bp_signal.o
CC /tmp/perf/tests/bp_signal_overflow.o
LD /tmp/perf/arch/perf-in.o
CC /tmp/perf/tests/bp_account.o
CC /tmp/perf/tests/wp.o
CC /tmp/perf/tests/task-exit.o
CC /tmp/perf/tests/sw-clock.o
CC /tmp/perf/tests/mmap-thread-lookup.o
CC /tmp/perf/tests/thread-maps-share.o
CC /tmp/perf/util/event.o
CC /tmp/perf/tests/switch-tracking.o
CC /tmp/perf/tests/keep-tracking.o
CC /tmp/perf/tests/code-reading.o
CC /tmp/perf/tests/sample-parsing.o
CC /tmp/perf/tests/parse-no-sample-id-all.o
CC /tmp/perf/tests/kmod-path.o
LD /tmp/perf/ui/browsers/perf-in.o
LD /tmp/perf/ui/perf-in.o
CC /tmp/perf/tests/thread-map.o
CC /tmp/perf/tests/topology.o
CC /tmp/perf/tests/mem.o
CC /tmp/perf/tests/cpumap.o
CC /tmp/perf/tests/stat.o
CC /tmp/perf/tests/event_update.o
CC /tmp/perf/tests/event-times.o
CC /tmp/perf/tests/expr.o
CC /tmp/perf/tests/backward-ring-buffer.o
CC /tmp/perf/tests/sdt.o
CC /tmp/perf/tests/is_printable_array.o
CC /tmp/perf/tests/bitmap.o
CC /tmp/perf/tests/perf-hooks.o
CC /tmp/perf/util/evlist.o
CC /tmp/perf/tests/unit_number__scnprintf.o
CC /tmp/perf/tests/mem2node.o
CC /tmp/perf/tests/maps.o
CC /tmp/perf/tests/time-utils-test.o
CC /tmp/perf/tests/genelf.o
CC /tmp/perf/tests/api-io.o
CC /tmp/perf/tests/demangle-java-test.o
CC /tmp/perf/tests/demangle-ocaml-test.o
CC /tmp/perf/tests/pfm.o
CC /tmp/perf/tests/parse-metric.o
CC /tmp/perf/tests/pe-file-parsing.o
CC /tmp/perf/tests/expand-cgroup.o
CC /tmp/perf/tests/perf-time-to-tsc.o
CC /tmp/perf/tests/dlfilter-test.o
CC /tmp/perf/tests/sigtrap.o
CC /tmp/perf/tests/event_groups.o
CC /tmp/perf/tests/symbols.o
CC /tmp/perf/tests/util.o
CC /tmp/perf/tests/dwarf-unwind.o
CC /tmp/perf/tests/workloads/noploop.o
CC /tmp/perf/tests/workloads/thloop.o
CC /tmp/perf/tests/workloads/leafloop.o
CC /tmp/perf/tests/workloads/sqrtloop.o
CC /tmp/perf/tests/workloads/brstack.o
CC /tmp/perf/tests/workloads/datasym.o
CC /tmp/perf/util/sideband_evlist.o
CC /tmp/perf/util/evsel.o
CC /tmp/perf/util/evsel_fprintf.o
CC /tmp/perf/util/perf_event_attr_fprintf.o
CC /tmp/perf/util/evswitch.o
LD /tmp/perf/tests/workloads/perf-in.o
CC /tmp/perf/util/find_bit.o
LD /tmp/perf/tests/perf-in.o
CC /tmp/perf/util/get_current_dir_name.o
CC /tmp/perf/util/levenshtein.o
CC /tmp/perf/util/mmap.o
CC /tmp/perf/util/memswap.o
BISON /tmp/perf/util/parse-events-bison.c
CC /tmp/perf/util/print-events.o
CC /tmp/perf/util/tracepoint.o
CC /tmp/perf/util/perf_regs.o
CC /tmp/perf/util/perf-regs-arch/perf_regs_aarch64.o
CC /tmp/perf/util/intel-pt-decoder/intel-pt-pkt-decoder.o
CC /tmp/perf/util/arm-spe-decoder/arm-spe-pkt-decoder.o
CC /tmp/perf/util/perf-regs-arch/perf_regs_arm.o
CC /tmp/perf/util/hisi-ptt-decoder/hisi-ptt-pkt-decoder.o
CC /tmp/perf/util/scripting-engines/trace-event-perl.o
CC /tmp/perf/util/perf-regs-arch/perf_regs_csky.o
CC /tmp/perf/util/perf-regs-arch/perf_regs_loongarch.o
LD /tmp/perf/util/hisi-ptt-decoder/perf-in.o
CC /tmp/perf/util/path.o
CC /tmp/perf/util/print_binary.o
CC /tmp/perf/util/perf-regs-arch/perf_regs_mips.o
CC /tmp/perf/util/arm-spe-decoder/arm-spe-decoder.o
GEN /tmp/perf/util/intel-pt-decoder/inat-tables.c
CC /tmp/perf/util/intel-pt-decoder/intel-pt-log.o
CC /tmp/perf/util/perf-regs-arch/perf_regs_powerpc.o
CC /tmp/perf/util/rlimit.o
CC /tmp/perf/util/intel-pt-decoder/intel-pt-decoder.o
CC /tmp/perf/util/argv_split.o
CC /tmp/perf/util/rbtree.o
CC /tmp/perf/util/perf-regs-arch/perf_regs_riscv.o
LD /tmp/perf/util/arm-spe-decoder/perf-in.o
CC /tmp/perf/util/libstring.o
CC /tmp/perf/util/perf-regs-arch/perf_regs_s390.o
CC /tmp/perf/util/bitmap.o
CC /tmp/perf/util/perf-regs-arch/perf_regs_x86.o
CC /tmp/perf/util/intel-pt-decoder/intel-pt-insn-decoder.o
CC /tmp/perf/util/hweight.o
LD /tmp/perf/util/perf-regs-arch/perf-in.o
CC /tmp/perf/util/smt.o
CC /tmp/perf/util/strbuf.o
CC /tmp/perf/util/string.o
CC /tmp/perf/util/scripting-engines/trace-event-python.o
CC /tmp/perf/util/strlist.o
CC /tmp/perf/util/strfilter.o
CC /tmp/perf/util/top.o
CC /tmp/perf/util/usage.o
CC /tmp/perf/util/dso.o
CC /tmp/perf/util/dsos.o
CC /tmp/perf/util/symbol.o
CC /tmp/perf/util/symbol_fprintf.o
CC /tmp/perf/util/color.o
CC /tmp/perf/util/color_config.o
CC /tmp/perf/util/metricgroup.o
CC /tmp/perf/util/header.o
CC /tmp/perf/util/callchain.o
CC /tmp/perf/util/values.o
CC /tmp/perf/util/debug.o
CC /tmp/perf/util/fncache.o
CC /tmp/perf/util/machine.o
CC /tmp/perf/util/map.o
LD /tmp/perf/util/intel-pt-decoder/perf-in.o
CC /tmp/perf/util/maps.o
LD /tmp/perf/util/scripting-engines/perf-in.o
CC /tmp/perf/util/pstack.o
CC /tmp/perf/util/session.o
CC /tmp/perf/util/sample-raw.o
CC /tmp/perf/util/s390-sample-raw.o
CC /tmp/perf/util/amd-sample-raw.o
CC /tmp/perf/util/syscalltbl.o
CC /tmp/perf/util/ordered-events.o
CC /tmp/perf/util/namespaces.o
CC /tmp/perf/util/comm.o
CC /tmp/perf/util/thread.o
CC /tmp/perf/util/thread_map.o
CC /tmp/perf/util/parse-events-bison.o
BISON /tmp/perf/util/pmu-bison.c
CC /tmp/perf/util/pmus.o
CC /tmp/perf/util/svghelper.o
CC /tmp/perf/util/trace-event-info.o
CC /tmp/perf/util/trace-event-scripting.o
CC /tmp/perf/util/trace-event.o
CC /tmp/perf/util/trace-event-parse.o
CC /tmp/perf/util/trace-event-read.o
CC /tmp/perf/util/sort.o
CC /tmp/perf/util/hist.o
CC /tmp/perf/util/util.o
CC /tmp/perf/util/cpumap.o
CC /tmp/perf/util/affinity.o
CC /tmp/perf/util/cputopo.o
CC /tmp/perf/util/cgroup.o
CC /tmp/perf/util/target.o
CC /tmp/perf/util/rblist.o
CC /tmp/perf/util/intlist.o
CC /tmp/perf/util/vdso.o
CC /tmp/perf/util/counts.o
CC /tmp/perf/util/stat.o
CC /tmp/perf/util/stat-shadow.o
CC /tmp/perf/util/stat-display.o
CC /tmp/perf/util/perf_api_probe.o
CC /tmp/perf/util/record.o
CC /tmp/perf/util/srcline.o
CC /tmp/perf/util/srccode.o
CC /tmp/perf/util/synthetic-events.o
CC /tmp/perf/util/data.o
CC /tmp/perf/util/tsc.o
CC /tmp/perf/util/cloexec.o
CC /tmp/perf/util/call-path.o
CC /tmp/perf/util/rwsem.o
CC /tmp/perf/util/thread-stack.o
CC /tmp/perf/util/spark.o
CC /tmp/perf/util/topdown.o
CC /tmp/perf/util/iostat.o
CC /tmp/perf/util/stream.o
CC /tmp/perf/util/auxtrace.o
CC /tmp/perf/util/intel-pt.o
CC /tmp/perf/util/intel-bts.o
CC /tmp/perf/util/arm-spe.o
CC /tmp/perf/util/hisi-ptt.o
CC /tmp/perf/util/s390-cpumsf.o
CC /tmp/perf/util/cs-etm-base.o
CC /tmp/perf/util/parse-branch-options.o
CC /tmp/perf/util/dump-insn.o
CC /tmp/perf/util/parse-regs-options.o
CC /tmp/perf/util/parse-sublevel-options.o
CC /tmp/perf/util/term.o
CC /tmp/perf/util/help-unknown-cmd.o
CC /tmp/perf/util/dlfilter.o
CC /tmp/perf/util/mem-events.o
CC /tmp/perf/util/vsprintf.o
CC /tmp/perf/util/units.o
CC /tmp/perf/util/time-utils.o
BISON /tmp/perf/util/expr-bison.c
CC /tmp/perf/util/branch.o
CC /tmp/perf/util/mem2node.o
CC /tmp/perf/util/clockid.o
CC /tmp/perf/util/list_sort.o
CC /tmp/perf/util/mutex.o
CC /tmp/perf/util/sharded_mutex.o
CC /tmp/perf/util/bpf_map.o
CC /tmp/perf/util/bpf_counter.o
CC /tmp/perf/util/bpf_counter_cgroup.o
CC /tmp/perf/util/bpf_ftrace.o
CC /tmp/perf/util/bpf_off_cpu.o
BISON /tmp/perf/util/bpf-filter-bison.c
CC /tmp/perf/util/bpf_lock_contention.o
CC /tmp/perf/util/bpf_kwork.o
CC /tmp/perf/util/bpf_kwork_top.o
CC /tmp/perf/util/symbol-elf.o
CC /tmp/perf/util/probe-file.o
CC /tmp/perf/util/probe-event.o
CC /tmp/perf/util/probe-finder.o
CC /tmp/perf/util/dwarf-aux.o
CC /tmp/perf/util/dwarf-regs.o
CC /tmp/perf/util/unwind-libunwind-local.o
CC /tmp/perf/util/unwind-libunwind.o
CC /tmp/perf/util/data-convert-json.o
CC /tmp/perf/util/zlib.o
CC /tmp/perf/util/lzma.o
CC /tmp/perf/util/zstd.o
CXX /tmp/perf/util/demangle-cxx.o
CC /tmp/perf/util/demangle-ocaml.o
CC /tmp/perf/util/demangle-java.o
CC /tmp/perf/util/demangle-rust.o
CC /tmp/perf/util/jitdump.o
CC /tmp/perf/util/genelf.o
CC /tmp/perf/util/genelf_debug.o
CC /tmp/perf/util/perf-hooks.o
CC /tmp/perf/util/bpf-event.o
CC /tmp/perf/util/bpf-utils.o
CC /tmp/perf/util/pfm.o
FLEX /tmp/perf/util/parse-events-flex.c
FLEX /tmp/perf/util/pmu-flex.c
CC /tmp/perf/util/pmu-bison.o
FLEX /tmp/perf/util/expr-flex.c
CC /tmp/perf/util/expr-bison.o
CC /tmp/perf/util/expr.o
FLEX /tmp/perf/util/bpf-filter-flex.c
CC /tmp/perf/util/bpf-filter-bison.o
CC /tmp/perf/util/parse-events.o
CC /tmp/perf/util/parse-events-flex.o
CC /tmp/perf/util/pmu.o
CC /tmp/perf/util/pmu-flex.o
CC /tmp/perf/util/expr-flex.o
CC /tmp/perf/util/bpf-filter.o
CC /tmp/perf/util/bpf-filter-flex.o
LD /tmp/perf/util/perf-in.o
LD /tmp/perf/perf-in.o
LINK /tmp/perf/perf
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH v1 0/5] Enable BPF skeletons by default
2023-09-19 15:40 ` Ian Rogers
@ 2023-09-20 4:11 ` Namhyung Kim
2023-09-21 18:50 ` Namhyung Kim
0 siblings, 1 reply; 14+ messages in thread
From: Namhyung Kim @ 2023-09-20 4:11 UTC (permalink / raw)
To: Ian Rogers
Cc: Arnaldo Carvalho de Melo, Peter Zijlstra, Ingo Molnar,
Mark Rutland, Alexander Shishkin, Jiri Olsa, Adrian Hunter,
Nick Terrell, Nathan Chancellor, Nick Desaulniers, Tom Rix,
Andrii Nakryiko, Tiezhu Yang, James Clark, Kajol Jain,
Patrice Duroux, Athira Rajeev, linux-perf-users, linux-kernel,
bpf, llvm
On Tue, Sep 19, 2023 at 8:40 AM Ian Rogers <irogers@google.com> wrote:
>
> On Tue, Sep 19, 2023 at 6:16 AM Arnaldo Carvalho de Melo
> <acme@kernel.org> wrote:
> >
> > Em Mon, Sep 18, 2023 at 04:40:15PM -0700, Namhyung Kim escreveu:
> > > On Thu, Sep 14, 2023 at 2:20 PM Ian Rogers <irogers@google.com> wrote:
> > > >
> > > > Enable BPF skeletons by default but warn don't fail if they can't be
> > > > supported. This was the intended behavior for Linux 6.4 but it caused
> > > > an issue captured in this thread:
> > > > https://lore.kernel.org/lkml/20230503211801.897735-1-acme@kernel.org/
> > > >
> > > > This issue isn't repeated here as the previous issue related to
> > > > generating vmlinux.h, which is no longer performed by default as a
> > > > checked-in vmlinux.h is used instead.
> > > >
> > > > Unlike with those changes, the BUILD_BPF_SKEL is kept and setting it
> > > > to 0 disables BPF skeletons. Also, rather than fail the build due to a
> > > > missed dependency, dependencies are checked and BPF skeletons disabled
> > > > if they aren't present.
> > > >
> > > > Some related commits:
> > > > b7a2d774c9c5 perf build: Add ability to build with a generated vmlinux.h
> > > > a887466562b4 perf bpf skels: Stop using vmlinux.h generated from BTF, use subset of used structs + CO-RE
> > > > a2af0f6b8ef7 perf build: Add system include paths to BPF builds
> > > > 5be6cecda080 perf bpf skels: Make vmlinux.h use bpf.h and perf_event.h in source directory
> > > > 9a2d5178b9d5 Revert "perf build: Make BUILD_BPF_SKEL default, rename to NO_BPF_SKEL"
> > > > a887466562b4 perf bpf skels: Stop using vmlinux.h generated from BTF, use subset of used structs + CO-RE
> > > > 1d7966547e11 perf build: Add warning for when vmlinux.h generation fails
> > > > a980755beb5a perf build: Make BUILD_BPF_SKEL default, rename to NO_BPF_SKEL
> > > >
> > > > Ian Rogers (5):
> > > > perf version: Add status of bpf skeletons
> > > > perf build: Default BUILD_BPF_SKEL, warn/disable for missing deps
> > > > perf test: Update build test for changed BPF skeleton defaults
> > > > perf test: Ensure EXTRA_TESTS is covered in build test
> > > > perf test: Detect off-cpu support from build options
> > >
> > > Tested-by: Namhyung Kim <namhyung@kernel.org>
> >
> > Is this verbose by default now? Maybe its something on my side, but I
> > noticed a higher level of verbosity, can you check?
>
> I don't see more verbosity. Logs below.
I don't see it either.
Thanks,
Namhyung
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH v1 0/5] Enable BPF skeletons by default
2023-09-20 4:11 ` Namhyung Kim
@ 2023-09-21 18:50 ` Namhyung Kim
0 siblings, 0 replies; 14+ messages in thread
From: Namhyung Kim @ 2023-09-21 18:50 UTC (permalink / raw)
To: Ian Rogers
Cc: Arnaldo Carvalho de Melo, Peter Zijlstra, Ingo Molnar,
Mark Rutland, Alexander Shishkin, Jiri Olsa, Adrian Hunter,
Nick Terrell, Nathan Chancellor, Nick Desaulniers, Tom Rix,
Andrii Nakryiko, Tiezhu Yang, James Clark, Kajol Jain,
Patrice Duroux, Athira Rajeev, linux-perf-users, linux-kernel,
bpf, llvm
On Tue, Sep 19, 2023 at 9:11 PM Namhyung Kim <namhyung@kernel.org> wrote:
>
> On Tue, Sep 19, 2023 at 8:40 AM Ian Rogers <irogers@google.com> wrote:
> >
> > On Tue, Sep 19, 2023 at 6:16 AM Arnaldo Carvalho de Melo
> > <acme@kernel.org> wrote:
> > >
> > > Em Mon, Sep 18, 2023 at 04:40:15PM -0700, Namhyung Kim escreveu:
> > > > On Thu, Sep 14, 2023 at 2:20 PM Ian Rogers <irogers@google.com> wrote:
> > > > >
> > > > > Enable BPF skeletons by default but warn don't fail if they can't be
> > > > > supported. This was the intended behavior for Linux 6.4 but it caused
> > > > > an issue captured in this thread:
> > > > > https://lore.kernel.org/lkml/20230503211801.897735-1-acme@kernel.org/
> > > > >
> > > > > This issue isn't repeated here as the previous issue related to
> > > > > generating vmlinux.h, which is no longer performed by default as a
> > > > > checked-in vmlinux.h is used instead.
> > > > >
> > > > > Unlike with those changes, the BUILD_BPF_SKEL is kept and setting it
> > > > > to 0 disables BPF skeletons. Also, rather than fail the build due to a
> > > > > missed dependency, dependencies are checked and BPF skeletons disabled
> > > > > if they aren't present.
> > > > >
> > > > > Some related commits:
> > > > > b7a2d774c9c5 perf build: Add ability to build with a generated vmlinux.h
> > > > > a887466562b4 perf bpf skels: Stop using vmlinux.h generated from BTF, use subset of used structs + CO-RE
> > > > > a2af0f6b8ef7 perf build: Add system include paths to BPF builds
> > > > > 5be6cecda080 perf bpf skels: Make vmlinux.h use bpf.h and perf_event.h in source directory
> > > > > 9a2d5178b9d5 Revert "perf build: Make BUILD_BPF_SKEL default, rename to NO_BPF_SKEL"
> > > > > a887466562b4 perf bpf skels: Stop using vmlinux.h generated from BTF, use subset of used structs + CO-RE
> > > > > 1d7966547e11 perf build: Add warning for when vmlinux.h generation fails
> > > > > a980755beb5a perf build: Make BUILD_BPF_SKEL default, rename to NO_BPF_SKEL
> > > > >
> > > > > Ian Rogers (5):
> > > > > perf version: Add status of bpf skeletons
> > > > > perf build: Default BUILD_BPF_SKEL, warn/disable for missing deps
> > > > > perf test: Update build test for changed BPF skeleton defaults
> > > > > perf test: Ensure EXTRA_TESTS is covered in build test
> > > > > perf test: Detect off-cpu support from build options
> > > >
> > > > Tested-by: Namhyung Kim <namhyung@kernel.org>
> > >
> > > Is this verbose by default now? Maybe its something on my side, but I
> > > noticed a higher level of verbosity, can you check?
> >
> > I don't see more verbosity. Logs below.
>
> I don't see it either.
Applied to perf-tools-next, thanks!
^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2023-09-21 18:50 UTC | newest]
Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-09-14 21:19 [PATCH v1 0/5] Enable BPF skeletons by default Ian Rogers
2023-09-14 21:19 ` [PATCH v1 1/5] perf version: Add status of bpf skeletons Ian Rogers
2023-09-14 21:19 ` [PATCH v1 2/5] perf build: Default BUILD_BPF_SKEL, warn/disable for missing deps Ian Rogers
2023-09-14 21:19 ` [PATCH v1 3/5] perf test: Update build test for changed BPF skeleton defaults Ian Rogers
2023-09-14 21:19 ` [PATCH v1 4/5] perf test: Ensure EXTRA_TESTS is covered in build test Ian Rogers
2023-09-18 23:34 ` Namhyung Kim
2023-09-19 2:15 ` Ian Rogers
2023-09-14 21:19 ` [PATCH v1 5/5] perf test: Detect off-cpu support from build options Ian Rogers
2023-09-18 23:40 ` [PATCH v1 0/5] Enable BPF skeletons by default Namhyung Kim
2023-09-19 13:16 ` Arnaldo Carvalho de Melo
2023-09-19 15:40 ` Ian Rogers
2023-09-20 4:11 ` Namhyung Kim
2023-09-21 18:50 ` Namhyung Kim
2023-09-19 1:46 ` Yang Jihong
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).