From patchwork Thu Sep 14 21:19:44 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ian Rogers X-Patchwork-Id: 13386067 X-Patchwork-Delegate: bpf@iogearbox.net Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net [23.128.96.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 89E4526E2D for ; Thu, 14 Sep 2023 21:20:00 +0000 (UTC) Received: from mail-yb1-xb49.google.com (mail-yb1-xb49.google.com [IPv6:2607:f8b0:4864:20::b49]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1C1CC26BE for ; Thu, 14 Sep 2023 14:20:00 -0700 (PDT) Received: by mail-yb1-xb49.google.com with SMTP id 3f1490d57ef6-d814105dc2cso1757344276.2 for ; Thu, 14 Sep 2023 14:20:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1694726399; x=1695331199; darn=vger.kernel.org; h=to:from:subject:references:mime-version:message-id:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=H3jVQnyzaN1ERNCJQeHBDC5w9lFgMjdheWTQKUJ7noQ=; b=LqH6s/1UW2CdNuFdOjRUHkkS910pLhX0+tt4o9vhPm97EUX+mqDQTtYawn2nhk5S2n nxkunCZcwj6iAHQMbEgDNxc5k6TNwxDYMWHRjUbdv+LmyrafWvsNFGRIKygQMbSpa1ws bru/3wVtMbA3vt9KVx4gTA2rbrhkF7yJS3oPalKWkiLsxLJeN9DpZqi8F3Z2jeGD2ZaL EbZRSaL8Av5GOTaxKQuqg+Z28wc24cgpWSuRoM1NC1tUjJDdT47BnZDSkLWFbgOR+99e SbzV25eHVm5PKCWNQ0weuuXAyuNDudOY9fazLUU66nWBvigYDSNnKe9/oEme4d3lNB+r 740w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694726399; x=1695331199; h=to:from:subject:references:mime-version:message-id:in-reply-to:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=H3jVQnyzaN1ERNCJQeHBDC5w9lFgMjdheWTQKUJ7noQ=; b=WM50/0B2CCXiwhNt22w/g+y/5Cf8hl02LlQsapbws0S2atXIcGiptQectRJFZt3+7N f6Tv716nGo36ff6FBrk3xD/QJiYBr9K+eNbe59ehhfj0uZ4QDRegctzeJ635QXLUBEgM IpACu56qHKrzkO+TbXJbth72Z2tkuDIszlpoEAsgYrYBtnpjcjCYsfBzoDt8zjRtoTwC HDScC+5p1UbNC+9Y47l1BOp9hHdFxChwGQMGoxq1VsRSDbNtLNpL26EQcXcg9AOsJio6 aAXfYG/7qjJtYbhxGRQI5KfRmQRWSJ7FhhzurZU9H9F75LM9P8svM/+8ToN/cDg68wzs 3w2g== X-Gm-Message-State: AOJu0YyW1DFa9BSKOJKeeC9JQ0JDvJWJYK8aM07HvoQ+Zy4Ifmn111My d4NdMhPCP1SQqNDQQER4osQ6JPHEOrdr X-Google-Smtp-Source: AGHT+IFf8LiHETjdJOMkgyABGonPNfygVlLPcRmeIzrdeNSCgieUQG/MM4JXzNQp5a4GH33BKmh9TwiXvCaP X-Received: from irogers.svl.corp.google.com ([2620:15c:2a3:200:5357:1d03:3084:aacb]) (user=irogers job=sendgmr) by 2002:a05:6902:1102:b0:d0b:d8cd:e661 with SMTP id o2-20020a056902110200b00d0bd8cde661mr203768ybu.12.1694726399348; Thu, 14 Sep 2023 14:19:59 -0700 (PDT) Date: Thu, 14 Sep 2023 14:19:44 -0700 In-Reply-To: <20230914211948.814999-1-irogers@google.com> Message-Id: <20230914211948.814999-2-irogers@google.com> Precedence: bulk X-Mailing-List: bpf@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20230914211948.814999-1-irogers@google.com> X-Mailer: git-send-email 2.42.0.459.ge4e396fd5e-goog Subject: [PATCH v1 1/5] perf version: Add status of bpf skeletons From: Ian Rogers 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@vger.kernel.org, linux-kernel@vger.kernel.org, bpf@vger.kernel.org, llvm@lists.linux.dev 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 --- 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) From patchwork Thu Sep 14 21:19:45 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ian Rogers X-Patchwork-Id: 13386068 X-Patchwork-Delegate: bpf@iogearbox.net Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net [23.128.96.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1199726E36 for ; Thu, 14 Sep 2023 21:20:02 +0000 (UTC) Received: from mail-yw1-x114a.google.com (mail-yw1-x114a.google.com [IPv6:2607:f8b0:4864:20::114a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 74E7A2700 for ; Thu, 14 Sep 2023 14:20:02 -0700 (PDT) Received: by mail-yw1-x114a.google.com with SMTP id 00721157ae682-59b50b45481so18529667b3.1 for ; Thu, 14 Sep 2023 14:20:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1694726401; x=1695331201; darn=vger.kernel.org; h=to:from:subject:references:mime-version:message-id:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=lStqQ9ffAu7tg36ET64D7TH2ZuxYOmdso1Dvk1E923U=; b=d0P9v8k9xEQq0Y9Zk/n8QCyBeDjPxurfah7KIkUmoZDlDtR0M+i/9gF+77SmhBMRDw vDKBPZ+hLEIHLE/YUpqJZtY7hMPJdpulb1cchs6lMMQaP8Alc9H9+7mj1dDaSNfw5JjX bk3doarLS6CsmdvANDoxwqU7yAaAFu/AKaGe/5ZiLEV6tNVtMzlcOUpi+szYuiU2KICY YKUO6Uurhrz/bT1HfWM1Cuv3CHs6vL9mqRZqnTknPQzrEpI0bwjAmfj6G8OmIsfThEa3 WL6NVg9EzY1DdVFocj0ZTktJ2JrBHnZDQbxfYcoqiky6y/lofFgJ8pfG6Kpluln3AXwg wJ1Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694726401; x=1695331201; h=to:from:subject:references:mime-version:message-id:in-reply-to:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=lStqQ9ffAu7tg36ET64D7TH2ZuxYOmdso1Dvk1E923U=; b=Q0OdRdYG/Z4QVItF9tfSIIrppVGKj38BQWlp8SUSth+LFiJ+xykcAnH4ZPvOZHSKnY F49QITsqinH3SyuGZ/KoyMTdq4xJkGFmR7QooXgiKlU+ZWeYFyNTK9QkHJHgO+4tWJlM C7YHAYWJ93rp9VX4mqvRRku75x3Iy4J47P5+so5ZmNEY/X0p0LBmNEzV8L8T3OC9W/nC UpzHNO+ssAwl8h5JJmu3yQ2KVQNIgmVuDa9JOCZSBt9AFpefmj6Z0vL/JKU8/pdHIHEI 46XwBCUN1J2Pg21JtvBTmTjucJjJj61yAsyT1N3yAQLzuaAhmrFom6XLXmkmPw5VZdxq +6ww== X-Gm-Message-State: AOJu0YyyU7nQky/S2mqz79Mrxi7YZx85vNFpchVaaLvw4EsnGLHPE2RR C38fLW7jozuxG/zUhxYaMf6PvkTRptaO X-Google-Smtp-Source: AGHT+IFjRA5JUeGKSzOoa0TZAwd/2W6FhxzDTZAadOlCrpO4Vx/AQT0GBgpQR7QF6AbHQOEP6z9/0YF3A9DO X-Received: from irogers.svl.corp.google.com ([2620:15c:2a3:200:5357:1d03:3084:aacb]) (user=irogers job=sendgmr) by 2002:a25:ad87:0:b0:d80:eb4:9ca with SMTP id z7-20020a25ad87000000b00d800eb409camr162274ybi.0.1694726401718; Thu, 14 Sep 2023 14:20:01 -0700 (PDT) Date: Thu, 14 Sep 2023 14:19:45 -0700 In-Reply-To: <20230914211948.814999-1-irogers@google.com> Message-Id: <20230914211948.814999-3-irogers@google.com> Precedence: bulk X-Mailing-List: bpf@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20230914211948.814999-1-irogers@google.com> X-Mailer: git-send-email 2.42.0.459.ge4e396fd5e-goog Subject: [PATCH v1 2/5] perf build: Default BUILD_BPF_SKEL, warn/disable for missing deps From: Ian Rogers 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@vger.kernel.org, linux-kernel@vger.kernel.org, bpf@vger.kernel.org, llvm@lists.linux.dev 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 --- 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) From patchwork Thu Sep 14 21:19:46 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ian Rogers X-Patchwork-Id: 13386069 X-Patchwork-Delegate: bpf@iogearbox.net Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net [23.128.96.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8AF0E26E36 for ; Thu, 14 Sep 2023 21:20:05 +0000 (UTC) Received: from mail-yw1-x114a.google.com (mail-yw1-x114a.google.com [IPv6:2607:f8b0:4864:20::114a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B81802706 for ; Thu, 14 Sep 2023 14:20:04 -0700 (PDT) Received: by mail-yw1-x114a.google.com with SMTP id 00721157ae682-58cbf62bae8so18403187b3.3 for ; Thu, 14 Sep 2023 14:20:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1694726403; x=1695331203; darn=vger.kernel.org; h=to:from:subject:references:mime-version:message-id:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=1Br6oKi7mTFdhI/sS2Gl2xU7/jDtLT7KyY4n04DEal0=; b=YVMLB5OGWEbXMj2TypGxwScFqF5SMACUyZnerRqGrtVj2YnifhAtnPO747YqC1AbU2 gDPOo6EGZlP3jauDQZBRIyN2jJGZyEwjO6nXomc5jAhgti+4fK7zA4DN3N5ck1nkrg3d kcNlltAmxDdIXXujV/p5gOTe0DVFmJmqoIH7cS8baMVfWAPa+fLTp0FrjAAF+7Qa2lm9 4zQoEqTR5zcmmedQ4ayTUyXq47N32yzNCvj3kSwrA70wCTWGaNNLBBnI4OLMlf3K1XwS Gt8gR+nafWpkHYphWxNN9J60gzeIKppYC3j/zT0mkWFyTkSpsT9L8m0We8czhGR5HC8R mIIQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694726403; x=1695331203; h=to:from:subject:references:mime-version:message-id:in-reply-to:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=1Br6oKi7mTFdhI/sS2Gl2xU7/jDtLT7KyY4n04DEal0=; b=YSpz2s5ZQY4hwWYL/BrA6QBY0FBnSyPgmmYRFBkGE5I6veLVsXJ+A2/Il2yJkK35EC iRhHV16d/FpCTYxrF4q1nSGuQvdm3HpVQTihbYVKTukdRFgNHDsU7mSeeXmk86R6top8 Xlig9Fhms6e6DAWBMT/jTIb8wBqFOMiirCwKoHzt6cDwx1BVZ8GWiqjzKY0anGahtl7Q AcYllhns2ASUJfRm83edp9tAVTpAnWai1cieUNYXScRe0VpdlT5HUB7ebfyEGumdpXeg PjMe9kWHGZWwAR2HYcBAY7I65O8P0knQqDbur2pHRsNTaZKPQb928aOCU505YafebFWT FNAg== X-Gm-Message-State: AOJu0YyHEBkfOpLI24j8AYqclMySc1ccch9C76yhCW5hzsIh7MjVcwjl VE9fkxgQ9aRrc7+vN2p6j7xptpoWys3r X-Google-Smtp-Source: AGHT+IHs5wkR+KiaL7EtqQCQpiLyI7h1XQQLsqyWJg8cBDHl64BZ691Sqo/oENqg9GTO1CpzGy0/AIzlBRLZ X-Received: from irogers.svl.corp.google.com ([2620:15c:2a3:200:5357:1d03:3084:aacb]) (user=irogers job=sendgmr) by 2002:a25:aa83:0:b0:d77:984e:c770 with SMTP id t3-20020a25aa83000000b00d77984ec770mr152103ybi.5.1694726403757; Thu, 14 Sep 2023 14:20:03 -0700 (PDT) Date: Thu, 14 Sep 2023 14:19:46 -0700 In-Reply-To: <20230914211948.814999-1-irogers@google.com> Message-Id: <20230914211948.814999-4-irogers@google.com> Precedence: bulk X-Mailing-List: bpf@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20230914211948.814999-1-irogers@google.com> X-Mailer: git-send-email 2.42.0.459.ge4e396fd5e-goog Subject: [PATCH v1 3/5] perf test: Update build test for changed BPF skeleton defaults From: Ian Rogers 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@vger.kernel.org, linux-kernel@vger.kernel.org, bpf@vger.kernel.org, llvm@lists.linux.dev Fix a target name and set BUILD_BPF_SKEL to 0 rather than 1. Signed-off-by: Ian Rogers --- 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 From patchwork Thu Sep 14 21:19:47 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ian Rogers X-Patchwork-Id: 13386070 X-Patchwork-Delegate: bpf@iogearbox.net Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net [23.128.96.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1200D273C1 for ; Thu, 14 Sep 2023 21:20:07 +0000 (UTC) Received: from mail-yb1-xb49.google.com (mail-yb1-xb49.google.com [IPv6:2607:f8b0:4864:20::b49]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9B5A4270E for ; Thu, 14 Sep 2023 14:20:06 -0700 (PDT) Received: by mail-yb1-xb49.google.com with SMTP id 3f1490d57ef6-d81a47e12b5so1013972276.0 for ; Thu, 14 Sep 2023 14:20:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1694726406; x=1695331206; darn=vger.kernel.org; h=to:from:subject:references:mime-version:message-id:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=qEBLCnDyHWS5IuPY851bB1uYjpvWDCqujKcJXiny/1I=; b=bzu+DbleT9wrOxJdJLp2RsnQvzhNTflsREXKrwLaHgs/Z2cJe4Rhy8WE9eGIXgSjSS iLsHeNuNq6H5xL/L2yLTiLGIJVD+jNFVRbzPJ374oInXRktPUrT9AO0lVgpdr+RV+xqE iEHJil3xwUhvn8+SJP+U5D34p9DUc0nkj506Y7YAfKSiKXqN6EQntS/THNBTHfh35XT7 dIRD7eYEvNNyk77GrE5KPWjl3bXBaKcinepszOcu9KZeGYFKktzsb1x070gS02XZ/2yn 6plBlb2i+KZpHgePtRH4PuVwEu6Nnt3kxhU609zKkvM/RgqlJwklqbsSSzVP+LLq0I69 IEzg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694726406; x=1695331206; h=to:from:subject:references:mime-version:message-id:in-reply-to:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=qEBLCnDyHWS5IuPY851bB1uYjpvWDCqujKcJXiny/1I=; b=XNLXCE5dPOwUx+L9r7qPPgu1RI8nrPx9S1NmpJRFbbCUpnaV7wcWzuZ8SOrNCkceHR CRmfMjws0OXgtcqSIu9bq6Df5XkgBYXDN94iU83RgABDoXry79YbYUrrBA12QEIw7Nup 4Tpi5m5BphawY4piqBpLSLSC1bmOKWxGnvsYzfx6FOXaI23ZaPccotH8YQEW7RrcJ740 4WPcnpc59AcqY1MOUTqFI0cRT2ep97bwjHWnD+fcMrzp1NdE+oGNx7PHWHkamp6E42wy 9R04pmQNWhZOoE4E2zFGjW/vLRUp+iD2LTZ/IMNXqIUAEa/0MEE7V5ZEjRxAYJLr6X6u Ddng== X-Gm-Message-State: AOJu0YzqfzfpVLP3stXTYWfNn0D3rEMDURwRK4Gsx7/6KaLRON9H47wQ 2i4xQ5kEUr9HKzisimC1IrHRkccDK6+A X-Google-Smtp-Source: AGHT+IFjNitaNwEgv3EEZ6iXNRaR95WvUU1GpXUYm1fAho7ynBUmSGSSBv8y18SlBKTVkWFYTJLjScNmdKn2 X-Received: from irogers.svl.corp.google.com ([2620:15c:2a3:200:5357:1d03:3084:aacb]) (user=irogers job=sendgmr) by 2002:a5b:bc6:0:b0:d7e:a025:2672 with SMTP id c6-20020a5b0bc6000000b00d7ea0252672mr153772ybr.9.1694726405869; Thu, 14 Sep 2023 14:20:05 -0700 (PDT) Date: Thu, 14 Sep 2023 14:19:47 -0700 In-Reply-To: <20230914211948.814999-1-irogers@google.com> Message-Id: <20230914211948.814999-5-irogers@google.com> Precedence: bulk X-Mailing-List: bpf@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20230914211948.814999-1-irogers@google.com> X-Mailer: git-send-email 2.42.0.459.ge4e396fd5e-goog Subject: [PATCH v1 4/5] perf test: Ensure EXTRA_TESTS is covered in build test From: Ian Rogers 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@vger.kernel.org, linux-kernel@vger.kernel.org, bpf@vger.kernel.org, llvm@lists.linux.dev Add to run variable. Signed-off-by: Ian Rogers --- 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 From patchwork Thu Sep 14 21:19:48 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ian Rogers X-Patchwork-Id: 13386071 X-Patchwork-Delegate: bpf@iogearbox.net Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net [23.128.96.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id AB400273CA for ; Thu, 14 Sep 2023 21:20:09 +0000 (UTC) Received: from mail-yw1-x1149.google.com (mail-yw1-x1149.google.com [IPv6:2607:f8b0:4864:20::1149]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2517D2723 for ; Thu, 14 Sep 2023 14:20:09 -0700 (PDT) Received: by mail-yw1-x1149.google.com with SMTP id 00721157ae682-59bcabc69easo20067837b3.1 for ; Thu, 14 Sep 2023 14:20:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1694726408; x=1695331208; darn=vger.kernel.org; h=to:from:subject:references:mime-version:message-id:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=YO3ZTyHFm+00gT95r949gZji8+XYvbCsq+dhsmDC+Ok=; b=E2tqCAxPd3bvCjWpCu1Mdk81qd7sNmUQscYrFGIN4qeq1ugNv5edtqC0V+gUnG2fpl OguXR94Cg1gct+QfZy2nG6MO5lGlZiygLIuJ+Wp4R04WhrShZRFyGi4Zz3y3jh34gbnH QYyrRBbQp6YRVXaL7cjm28TvkQcTnFk6Qovm6GL7LTEChcgyygRulO0m0AYF/wAAgXL9 r6xF1iur7uNSFI7cBbSI8qhlDDYkrtXmDH61YJ6sOUdoGuhe8bAvXVStv6UYQHlXoEHN P6kUnKPUoAAoOLC4dnauYDG0DpxxB0VSJj/fIEb1z8BbaoN4+t7cfbw5x7+YaJiBpl87 J2oA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694726408; x=1695331208; h=to:from:subject:references:mime-version:message-id:in-reply-to:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=YO3ZTyHFm+00gT95r949gZji8+XYvbCsq+dhsmDC+Ok=; b=so64hajUTA3oCWdnto74YgsSh78EHttNsybLk+Tlp7kJKhdbwdAHGocxGy0z5ItoKQ HfrTUy/l/p0LQufoI0n4CU7iMR6rPZaeXGnEsfGrxKp1znl8wgNGm1DTv2RHJ/Bq7OTH 9zDcACTO3I8fz4EN757lD47jkwxUjRCyWxxTcXaJVXgq9Z8oyRqRjcTDh3edzQ2v6eIp Ehld6a4pXHq85EhD1M7DzffrOTdLhE7BvzC78znnU20Im9eZErtkUXX2cP/8240OHp+B eJDt2Y48CCn83DLquc7JqqCBQOgeROeLabeg6dhifeyoWHprwOqzVli8yCvAXMIwgKPC wcNQ== X-Gm-Message-State: AOJu0YwGZ6TBjCFsdufqee5pU4UEUtE3eoW3J9lQgLz72asALYNcd/dK DZbuFWhCN29vzTHiV8yzF7R4BK50jBYZ X-Google-Smtp-Source: AGHT+IGCEX/KOyc+NQTtFfPYAWgFXG6kDLqyIKgl2lhi89WqTIgea5kl72TnA6Q8vTJoreHIXz9tXTcmvDM3 X-Received: from irogers.svl.corp.google.com ([2620:15c:2a3:200:5357:1d03:3084:aacb]) (user=irogers job=sendgmr) by 2002:a81:af11:0:b0:589:a5c6:4a8e with SMTP id n17-20020a81af11000000b00589a5c64a8emr175716ywh.1.1694726408395; Thu, 14 Sep 2023 14:20:08 -0700 (PDT) Date: Thu, 14 Sep 2023 14:19:48 -0700 In-Reply-To: <20230914211948.814999-1-irogers@google.com> Message-Id: <20230914211948.814999-6-irogers@google.com> Precedence: bulk X-Mailing-List: bpf@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20230914211948.814999-1-irogers@google.com> X-Mailer: git-send-email 2.42.0.459.ge4e396fd5e-goog Subject: [PATCH v1 5/5] perf test: Detect off-cpu support from build options From: Ian Rogers 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@vger.kernel.org, linux-kernel@vger.kernel.org, bpf@vger.kernel.org, llvm@lists.linux.dev Use perf version to detect whether BPF skeletons were enabled in a build rather than a failing perf record. Signed-off-by: Ian Rogers --- 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