summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2022-08-14 09:22:11 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2022-08-14 09:22:11 -0700
commit96f86ff08332d88defd35c330fc6dae219b9e264 (patch)
tree1122e9ac32022cc7c5a365c2ab6ddf116fbd3b15 /tools
parentd785610f052d7456497cdec2a2406f6d4b16569f (diff)
parent7391db6459388d47d657aad633cb55fc04a8d4fb (diff)
downloadlinux-96f86ff08332d88defd35c330fc6dae219b9e264.tar.gz
linux-96f86ff08332d88defd35c330fc6dae219b9e264.tar.bz2
linux-96f86ff08332d88defd35c330fc6dae219b9e264.zip
Merge tag 'perf-tools-fixes-for-v6.0-2022-08-13' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux
Pull more perf tool updates from Arnaldo Carvalho de Melo: - 'perf c2c' now supports ARM64, adjust its output to cope with differences with what is in x86_64. Now go find false sharing on ARM64 (at least Neoverse) as well! - Refactor the JSON processing, making the output more compact and thus reducing the size of the resulting perf binary - Improvements for 'perf offcpu' profiling, including tracking child processes - Update Intel JSON metrics and events files for broadwellde, broadwellx, cascadelakex, haswellx, icelakex, ivytown, jaketown, knightslanding, sapphirerapids, skylakex and snowridgex - Add 'perf stat' JSON output and a 'perf test' entry for it - Ignore memfd and anonymous mmap events if jitdump present - Refactor 'perf test' shell tests allowing subdirs - Fix an error handling path in 'parse_perf_probe_command()' - Fixes for the guest Intel PT tracing patchkit in the 1st batch of this merge window - Print debuginfod queries if -v option is used, to explain delays in processing when debuginfo servers are enabled to fetch DSOs with richer symbol tables - Improve error message for 'perf record -p not_existing_pid' - Fix openssl and libbpf feature detection - Add PMU pai_crypto event description for IBM z16 on 'perf list' - Fix typos and duplicated words on comments in various places * tag 'perf-tools-fixes-for-v6.0-2022-08-13' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux: (81 commits) perf test: Refactor shell tests allowing subdirs perf vendor events: Update events for snowridgex perf vendor events: Update events and metrics for skylakex perf vendor events: Update metrics for sapphirerapids perf vendor events: Update events for knightslanding perf vendor events: Update metrics for jaketown perf vendor events: Update metrics for ivytown perf vendor events: Update events and metrics for icelakex perf vendor events: Update events and metrics for haswellx perf vendor events: Update events and metrics for cascadelakex perf vendor events: Update events and metrics for broadwellx perf vendor events: Update metrics for broadwellde perf jevents: Fold strings optimization perf jevents: Compress the pmu_events_table perf metrics: Copy entire pmu_event in find metric perf pmu-events: Hide the pmu_events perf pmu-events: Don't assume pmu_event is an array perf pmu-events: Move test events/metrics to JSON perf test: Use full metric resolution perf pmu-events: Hide pmu_events_map ...
Diffstat (limited to 'tools')
-rw-r--r--tools/bpf/bpftool/Makefile6
-rw-r--r--tools/build/feature/Makefile14
-rw-r--r--tools/build/feature/test-libcrypto.c21
-rw-r--r--tools/include/uapi/linux/perf_event.h2
-rw-r--r--tools/perf/Documentation/guest-files.txt16
-rw-r--r--tools/perf/Documentation/guestmount.txt11
-rw-r--r--tools/perf/Documentation/perf-c2c.txt31
-rw-r--r--tools/perf/Documentation/perf-inject.txt4
-rw-r--r--tools/perf/Documentation/perf-kvm.txt25
-rw-r--r--tools/perf/Documentation/perf-script.txt8
-rw-r--r--tools/perf/Documentation/perf-stat.txt21
-rw-r--r--tools/perf/Makefile.config13
-rw-r--r--tools/perf/Makefile.perf3
-rw-r--r--tools/perf/arch/arm/util/cs-etm.c2
-rw-r--r--tools/perf/arch/arm64/util/arm-spe.c2
-rw-r--r--tools/perf/arch/arm64/util/pmu.c4
-rw-r--r--tools/perf/arch/x86/tests/intel-cqm.c2
-rw-r--r--tools/perf/arch/x86/util/intel-bts.c2
-rw-r--r--tools/perf/arch/x86/util/intel-pt.c2
-rw-r--r--tools/perf/arch/x86/util/iostat.c2
-rw-r--r--tools/perf/arch/x86/util/topdown.c2
-rw-r--r--tools/perf/builtin-c2c.c454
-rw-r--r--tools/perf/builtin-kvm.c8
-rw-r--r--tools/perf/builtin-record.c11
-rw-r--r--tools/perf/builtin-sched.c2
-rw-r--r--tools/perf/builtin-script.c2
-rw-r--r--tools/perf/builtin-stat.c7
-rw-r--r--tools/perf/builtin-trace.c2
-rw-r--r--tools/perf/pmu-events/Build6
-rw-r--r--tools/perf/pmu-events/arch/s390/cf_z16/pai.json1101
-rw-r--r--tools/perf/pmu-events/arch/test/test_soc/cpu/metrics.json64
-rw-r--r--tools/perf/pmu-events/arch/x86/broadwellde/bdwde-metrics.json6
-rw-r--r--tools/perf/pmu-events/arch/x86/broadwellde/uncore-cache.json97
-rw-r--r--tools/perf/pmu-events/arch/x86/broadwellde/uncore-other.json13
-rw-r--r--tools/perf/pmu-events/arch/x86/broadwellx/bdx-metrics.json6
-rw-r--r--tools/perf/pmu-events/arch/x86/broadwellx/uncore-cache.json163
-rw-r--r--tools/perf/pmu-events/arch/x86/cascadelakex/clx-metrics.json6
-rw-r--r--tools/perf/pmu-events/arch/x86/cascadelakex/uncore-memory.json4400
-rw-r--r--tools/perf/pmu-events/arch/x86/cascadelakex/uncore-other.json22482
-rw-r--r--tools/perf/pmu-events/arch/x86/cascadelakex/uncore-power.json201
-rw-r--r--tools/perf/pmu-events/arch/x86/haswellx/hsx-metrics.json411
-rw-r--r--tools/perf/pmu-events/arch/x86/haswellx/uncore-cache.json173
-rw-r--r--tools/perf/pmu-events/arch/x86/icelakex/icx-metrics.json6
-rw-r--r--tools/perf/pmu-events/arch/x86/icelakex/uncore-memory.json1523
-rw-r--r--tools/perf/pmu-events/arch/x86/icelakex/uncore-other.json37134
-rw-r--r--tools/perf/pmu-events/arch/x86/icelakex/uncore-power.json225
-rw-r--r--tools/perf/pmu-events/arch/x86/ivytown/ivt-metrics.json6
-rw-r--r--tools/perf/pmu-events/arch/x86/ivytown/uncore-cache.json90
-rw-r--r--tools/perf/pmu-events/arch/x86/ivytown/uncore-interconnect.json1
-rw-r--r--tools/perf/pmu-events/arch/x86/ivytown/uncore-other.json13
-rw-r--r--tools/perf/pmu-events/arch/x86/ivytown/uncore-power.json19
-rw-r--r--tools/perf/pmu-events/arch/x86/jaketown/jkt-metrics.json6
-rw-r--r--tools/perf/pmu-events/arch/x86/jaketown/uncore-cache.json30
-rw-r--r--tools/perf/pmu-events/arch/x86/jaketown/uncore-other.json13
-rw-r--r--tools/perf/pmu-events/arch/x86/jaketown/uncore-power.json11
-rw-r--r--tools/perf/pmu-events/arch/x86/knightslanding/uncore-other.json213
-rw-r--r--tools/perf/pmu-events/arch/x86/sapphirerapids/spr-metrics.json6
-rw-r--r--tools/perf/pmu-events/arch/x86/skylakex/skx-metrics.json6
-rw-r--r--tools/perf/pmu-events/arch/x86/skylakex/uncore-memory.json3562
-rw-r--r--tools/perf/pmu-events/arch/x86/skylakex/uncore-other.json22306
-rw-r--r--tools/perf/pmu-events/arch/x86/skylakex/uncore-power.json201
-rw-r--r--tools/perf/pmu-events/arch/x86/snowridgex/uncore-other.json111
-rw-r--r--tools/perf/pmu-events/empty-pmu-events.c204
-rwxr-xr-xtools/perf/pmu-events/jevents.py496
-rw-r--r--tools/perf/pmu-events/pmu-events.h40
-rw-r--r--tools/perf/tests/Build1
-rw-r--r--tools/perf/tests/builtin-test-list.c207
-rw-r--r--tools/perf/tests/builtin-test-list.h12
-rw-r--r--tools/perf/tests/builtin-test.c152
-rw-r--r--tools/perf/tests/code-reading.c2
-rw-r--r--tools/perf/tests/event-times.c2
-rw-r--r--tools/perf/tests/evsel-roundtrip-name.c4
-rw-r--r--tools/perf/tests/expand-cgroup.c25
-rw-r--r--tools/perf/tests/hists_cumulate.c2
-rw-r--r--tools/perf/tests/hists_filter.c4
-rw-r--r--tools/perf/tests/hists_link.c4
-rw-r--r--tools/perf/tests/hists_output.c2
-rw-r--r--tools/perf/tests/keep-tracking.c4
-rw-r--r--tools/perf/tests/parse-metric.c77
-rw-r--r--tools/perf/tests/perf-time-to-tsc.c4
-rw-r--r--tools/perf/tests/pmu-events.c466
-rw-r--r--tools/perf/tests/shell/lib/perf_json_output_lint.py96
-rwxr-xr-xtools/perf/tests/shell/record_offcpu.sh57
-rwxr-xr-xtools/perf/tests/shell/stat+json_output.sh147
-rw-r--r--tools/perf/tests/switch-tracking.c24
-rw-r--r--tools/perf/util/Build1
-rw-r--r--tools/perf/util/arm-spe-decoder/arm-spe-decoder.c1
-rw-r--r--tools/perf/util/arm-spe-decoder/arm-spe-decoder.h12
-rw-r--r--tools/perf/util/arm-spe.c130
-rw-r--r--tools/perf/util/bpf-loader.c2
-rw-r--r--tools/perf/util/bpf_off_cpu.c53
-rw-r--r--tools/perf/util/bpf_skel/off_cpu.bpf.c38
-rw-r--r--tools/perf/util/build-id.c26
-rw-r--r--tools/perf/util/events_stats.h2
-rw-r--r--tools/perf/util/jitdump.c9
-rw-r--r--tools/perf/util/machine.c1
-rw-r--r--tools/perf/util/mem-events.c46
-rw-r--r--tools/perf/util/mem-events.h3
-rw-r--r--tools/perf/util/metricgroup.c275
-rw-r--r--tools/perf/util/metricgroup.h5
-rw-r--r--tools/perf/util/parse-events.c22
-rw-r--r--tools/perf/util/parse-events.h4
-rw-r--r--tools/perf/util/perf_api_probe.c2
-rw-r--r--tools/perf/util/pmu.c139
-rw-r--r--tools/perf/util/pmu.h10
-rw-r--r--tools/perf/util/probe-event.c6
-rw-r--r--tools/perf/util/record.c2
-rw-r--r--tools/perf/util/s390-sample-raw.c50
-rw-r--r--tools/perf/util/scripting-engines/trace-event-python.c2
-rw-r--r--tools/perf/util/stat-display.c383
-rw-r--r--tools/perf/util/stat.c1
-rw-r--r--tools/perf/util/stat.h2
112 files changed, 93678 insertions, 4871 deletions
diff --git a/tools/bpf/bpftool/Makefile b/tools/bpf/bpftool/Makefile
index 04d733e98bff..4a95c017ad4c 100644
--- a/tools/bpf/bpftool/Makefile
+++ b/tools/bpf/bpftool/Makefile
@@ -93,9 +93,11 @@ INSTALL ?= install
RM ?= rm -f
FEATURE_USER = .bpftool
-FEATURE_TESTS = libbfd disassembler-four-args disassembler-init-styled libcap \
+FEATURE_TESTS = libbfd libbfd-liberty libbfd-liberty-z \
+ disassembler-four-args disassembler-init-styled libcap \
clang-bpf-co-re
-FEATURE_DISPLAY = libbfd libcap clang-bpf-co-re
+FEATURE_DISPLAY = libbfd libbfd-liberty libbfd-liberty-z \
+ libcap clang-bpf-co-re
check_feat := 1
NON_CHECK_FEAT_TARGETS := clean uninstall doc doc-clean doc-install doc-uninstall
diff --git a/tools/build/feature/Makefile b/tools/build/feature/Makefile
index c3059739318a..04b07ff88234 100644
--- a/tools/build/feature/Makefile
+++ b/tools/build/feature/Makefile
@@ -90,6 +90,8 @@ all: $(FILES)
__BUILD = $(CC) $(CFLAGS) -MD -Wall -Werror -o $@ $(patsubst %.bin,%.c,$(@F)) $(LDFLAGS)
BUILD = $(__BUILD) > $(@:.bin=.make.output) 2>&1
+ BUILD_BFD = $(BUILD) -DPACKAGE='"perf"' -lbfd -ldl
+ BUILD_ALL = $(BUILD) -fstack-protector-all -O2 -D_FORTIFY_SOURCE=2 -ldw -lelf -lnuma -lelf -lslang $(FLAGS_PERL_EMBED) $(FLAGS_PYTHON_EMBED) -DPACKAGE='"perf"' -lbfd -ldl -lz -llzma -lzstd -lcap
__BUILDXX = $(CXX) $(CXXFLAGS) -MD -Wall -Werror -o $@ $(patsubst %.bin,%.cpp,$(@F)) $(LDFLAGS)
BUILDXX = $(__BUILDXX) > $(@:.bin=.make.output) 2>&1
@@ -97,7 +99,7 @@ __BUILDXX = $(CXX) $(CXXFLAGS) -MD -Wall -Werror -o $@ $(patsubst %.bin,%.cpp,$(
###############################
$(OUTPUT)test-all.bin:
- $(BUILD) -fstack-protector-all -O2 -D_FORTIFY_SOURCE=2 -ldw -lelf -lnuma -lelf -lslang $(FLAGS_PERL_EMBED) $(FLAGS_PYTHON_EMBED) -DPACKAGE='"perf"' -lbfd -ldl -lz -llzma -lzstd -lcap
+ $(BUILD_ALL) || $(BUILD_ALL) -lopcodes -liberty
$(OUTPUT)test-hello.bin:
$(BUILD)
@@ -241,16 +243,18 @@ $(OUTPUT)test-libpython.bin:
$(BUILD) $(FLAGS_PYTHON_EMBED)
$(OUTPUT)test-libbfd.bin:
- $(BUILD) -DPACKAGE='"perf"' -lbfd -ldl
+ $(BUILD_BFD)
$(OUTPUT)test-libbfd-buildid.bin:
- $(BUILD) -DPACKAGE='"perf"' -lbfd -ldl
+ $(BUILD_BFD) || $(BUILD_BFD) -liberty || $(BUILD_BFD) -liberty -lz
$(OUTPUT)test-disassembler-four-args.bin:
- $(BUILD) -DPACKAGE='"perf"' -lbfd -lopcodes
+ $(BUILD_BFD) -lopcodes || $(BUILD_BFD) -lopcodes -liberty || \
+ $(BUILD_BFD) -lopcodes -liberty -lz
$(OUTPUT)test-disassembler-init-styled.bin:
- $(BUILD) -DPACKAGE='"perf"' -lbfd -lopcodes
+ $(BUILD_BFD) -lopcodes || $(BUILD_BFD) -lopcodes -liberty || \
+ $(BUILD_BFD) -lopcodes -liberty -lz
$(OUTPUT)test-reallocarray.bin:
$(BUILD)
diff --git a/tools/build/feature/test-libcrypto.c b/tools/build/feature/test-libcrypto.c
index 31afff093d0b..bc34a5bbb504 100644
--- a/tools/build/feature/test-libcrypto.c
+++ b/tools/build/feature/test-libcrypto.c
@@ -1,22 +1,23 @@
// SPDX-License-Identifier: GPL-2.0
+#include <openssl/evp.h>
#include <openssl/sha.h>
#include <openssl/md5.h>
-/*
- * The MD5_* API have been deprecated since OpenSSL 3.0, which causes the
- * feature test to fail silently. This is a workaround.
- */
-#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
-
int main(void)
{
- MD5_CTX context;
+ EVP_MD_CTX *mdctx;