Skip to content

Commit

Permalink
Revert "perf build: Make BUILD_BPF_SKEL default, rename to NO_BPF_SKEL"
Browse files Browse the repository at this point in the history
This reverts commit a980755.

We need to better polish building with BPF skels, so revert back to
making it an experimental feature that has to be explicitely enabled
using BUILD_BPF_SKEL=1.

Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
  • Loading branch information
acmel committed May 6, 2023
1 parent c3e6df9 commit 9a2d517
Show file tree
Hide file tree
Showing 6 changed files with 14 additions and 20 deletions.
19 changes: 7 additions & 12 deletions tools/perf/Makefile.config
Original file line number Diff line number Diff line change
Expand Up @@ -415,7 +415,6 @@ ifdef NO_LIBELF
NO_LIBUNWIND := 1
NO_LIBDW_DWARF_UNWIND := 1
NO_LIBBPF := 1
NO_BPF_SKEL := 1
NO_JVMTI := 1
else
ifeq ($(feature-libelf), 0)
Expand Down Expand Up @@ -655,22 +654,18 @@ ifndef NO_LIBBPF
msg := $(warning BPF API too old. Please install recent kernel headers. BPF support in 'perf record' is disabled.)
NO_LIBBPF := 1
endif
else
NO_BPF_SKEL := 1
endif

ifndef NO_BPF_SKEL
ifdef BUILD_BPF_SKEL
$(call feature_check,clang-bpf-co-re)
ifeq ($(feature-clang-bpf-co-re), 0)
dummy := $(error: ERROR: BPF skeletons unsupported. clang too old/not installed or build with NO_BPF_SKEL=1.)
else
ifeq ($(filter -DHAVE_LIBBPF_SUPPORT, $(CFLAGS)),)
dummy := $(error: ERROR: BPF skeletons unsupported. BPF skeleton support requires libbpf or build with NO_BPF_SKEL=1.)
else
$(call detected,CONFIG_PERF_BPF_SKEL)
CFLAGS += -DHAVE_BPF_SKEL
endif
dummy := $(error Error: clang too old/not installed. Please install recent clang to build with BUILD_BPF_SKEL)
endif
ifeq ($(filter -DHAVE_LIBBPF_SUPPORT, $(CFLAGS)),)
dummy := $(error Error: BPF skeleton support requires libbpf)
endif
$(call detected,CONFIG_PERF_BPF_SKEL)
CFLAGS += -DHAVE_BPF_SKEL
endif

dwarf-post-unwind := 1
Expand Down
8 changes: 4 additions & 4 deletions tools/perf/Makefile.perf
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ include ../scripts/utilities.mak
#
# Define NO_LIBDEBUGINFOD if you do not want support debuginfod
#
# Define NO_BPF_SKEL to disable BPF skeletons
# Define BUILD_BPF_SKEL to enable BPF skeletons
#
# Define BUILD_NONDISTRO to enable building an linking against libbfd and
# libiberty distribution license incompatible libraries.
Expand Down Expand Up @@ -1055,7 +1055,7 @@ SKELETONS += $(SKEL_OUT)/kwork_trace.skel.h $(SKEL_OUT)/sample_filter.skel.h
$(SKEL_TMP_OUT) $(LIBAPI_OUTPUT) $(LIBBPF_OUTPUT) $(LIBPERF_OUTPUT) $(LIBSUBCMD_OUTPUT) $(LIBSYMBOL_OUTPUT):
$(Q)$(MKDIR) -p $@

ifndef NO_BPF_SKEL
ifdef BUILD_BPF_SKEL
BPFTOOL := $(SKEL_TMP_OUT)/bootstrap/bpftool
BPF_INCLUDE := -I$(SKEL_TMP_OUT)/.. -I$(LIBBPF_INCLUDE)

Expand All @@ -1074,11 +1074,11 @@ bpf-skel: $(SKELETONS)

.PRECIOUS: $(SKEL_TMP_OUT)/%.bpf.o

else # NO_BPF_SKEL
else # BUILD_BPF_SKEL

bpf-skel:

endif # NO_BPF_SKEL
endif # BUILD_BPF_SKEL

bpf-skel-clean:
$(call QUIET_CLEAN, bpf-skel) $(RM) -r $(SKEL_TMP_OUT) $(SKELETONS)
Expand Down
2 changes: 1 addition & 1 deletion tools/perf/builtin-lock.c
Original file line number Diff line number Diff line change
Expand Up @@ -2387,7 +2387,7 @@ int cmd_lock(int argc, const char **argv)

#ifndef HAVE_BPF_SKEL
set_option_nobuild(contention_options, 'b', "use-bpf",
"NO_BPF_SKEL=1", false);
"no BUILD_BPF_SKEL=1", false);
#endif
if (argc) {
argc = parse_options(argc, argv, contention_options,
Expand Down
2 changes: 1 addition & 1 deletion tools/perf/builtin-record.c
Original file line number Diff line number Diff line change
Expand Up @@ -3981,7 +3981,7 @@ int cmd_record(int argc, const char **argv)

#ifndef HAVE_BPF_SKEL
# define set_nobuild(s, l, m, c) set_option_nobuild(record_options, s, l, m, c)
set_nobuild('\0', "off-cpu", "NO_BPF_SKEL=1", true);
set_nobuild('\0', "off-cpu", "no BUILD_BPF_SKEL=1", true);
# undef set_nobuild
#endif

Expand Down
1 change: 0 additions & 1 deletion tools/perf/builtin-version.c
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,6 @@ 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)
Expand Down
2 changes: 1 addition & 1 deletion tools/perf/tests/shell/record_offcpu.sh
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ test_offcpu_priv() {
err=2
return
fi
if perf version --build-options 2>&1 | grep HAVE_BPF_SKEL | grep -q OFF
if perf record --off-cpu -o /dev/null --quiet true 2>&1 | grep BUILD_BPF_SKEL
then
echo "off-cpu test [Skipped missing BPF support]"
err=2
Expand Down

0 comments on commit 9a2d517

Please sign in to comment.