[GIT PULL] perf tools changes for v5.15

From: Arnaldo Carvalho de Melo
Date: Sat Sep 04 2021 - 14:49:44 EST


Hi Linus,

Please consider pulling,

Best regards,

- Arnaldo

Test results at the end of this message.

The following changes since commit 7d2a07b769330c34b4deabeed939325c77a7ec2f:

Linux 5.14 (2021-08-29 15:04:50 -0700)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-tools-for-v5.15-2021-09-04

for you to fetch changes up to c7a3828d98db2730079265b5f51933dfcef8bb5f:

perf tests: Add test for PMU aliases (2021-09-03 08:38:49 -0300)

----------------------------------------------------------------
perf tools changes for v5.15:

New features:

- Improvements for the flamegraph python script, including:

- Display perf.data header
- Display PIDs of user stacks
- Added option to change color scheme
- Default to blue/green color scheme to improve accessibility
- Correctly identify kernel stacks when debuginfo is available

- Improvements for 'perf bench futex':
- Add --mlockall parameter
- Add --broadcast and --pi to the 'requeue' sub benchmark

- Add support for PMU aliases.

- Introduce an ARM Coresight ETE decoder.

- Add a 'perf bench' entry for evlist open/close operations, to help quantify
improvements with multithreading 'perf record'.

- Allow reporting the [un]throttle PERF_RECORD_ meta event in 'perf script's
python scripting.

- Add a 'perf test' entry for PMU aliases.

- Add a 'perf test' entry for 'perf record/perf report/perf script' pipe mode.

Fixes:

- perf script dlfilter (API for filtering via dynamically loaded shared object
introduced in v5.14) fixes and a 'perf test' entry for it.

- Fix get_current_dir_name() compilation on Android.

- Fix issues with asciidoc and double dashes uses.

- Fix memory leaks in the BTF handling code.

- Fix leftover problems in the Documentation from the infrastructure originally
lifted from the git codebase.

- Fix *probe_vfs_getname.sh 'perf test' failures.

- Handle fd gaps in 'perf test's test__dso_data_reopen().

- Make sure to show disasembly warnings for 'perf annotate --stdio'.

- Fix output from pipe to file and vice-versa in 'perf record/report/script'.

- Correct 'perf data -h' output.

- Fix wrong comm in system-wide mode with 'perf record --delay'.

- Do not allow --for-each-cgroup without cpu in 'perf stat'

- Make 'perf test --skip' work on shell tests.

- Fix libperf's verbose printing.

Misc improvements:

- Preparatory patches for multithreading varios 'perf record' phases
(synthesizing, opening, recording, etc).

- Add sparse context/locking annotations in compiler-types.h, also to help with
the multithreading effort.

- Optimize the generation of the arch specific erno tables used in 'perf trace'.

- Optimize libperf's perf_cpu_map__max().

- Improve ARM's CoreSight warnings.

- Report collisions in AUX records.

- Improve warnings for the LLVM 'perf test' entry.

- Improve the PMU events 'perf test' codebase.

- perf test: Do not compare overheads in the zstd comp test

- Better support annotation on ARM.

- Update 'perf trace's cmd string table to decode sys_bpf() first arg.

Vendor events:

- Add JSON events and metrics for Intel's Ice Lake, Tiger Lake and Elhart Lake.

- Update JSON eventsand metrics for Intel's Cascade Lake and Sky Lake servers.

Hardware tracing:

- Improvements for the ARM hardware tracing auxtrace support.

Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>

----------------------------------------------------------------
Adrian Hunter (6):
perf script: Fix documented const'ness of perf_dlfilter_fns
perf script: Fix unnecessary machine_resolve()
perf script: Fix --list-dlfilters documentation
perf dlfilter: Amend documentation wrt library dependencies
perf build: Move perf_dlfilters.h in the source tree
perf tests: Add dlfilter test

Alexey Dobriyan (1):
perf tools: Fixup get_current_dir_name() compilation

Alyssa Ross (1):
perf docs: Fix accidental em-dashes

Andreas Gerstmayr (1):
perf flamegraph: flamegraph.py script improvements

Arnaldo Carvalho de Melo (6):
Merge remote-tracking branch 'torvalds/master' into perf/core
Merge remote-tracking branch 'torvalds/master' into perf/core
perf config: Fix caching and memory leak in perf_home_perfconfig()
perf bench inject-buildid: Handle writen() errors
perf bench evlist-open-close: Use PRIu64 with u64 to fix build on 32-bit architectures
perf dlfilters: Fix build on environments with a --sysroot gcc arg

Colin Ian King (1):
perf header: Fix spelling mistake "cant'" -> "can't"

Davidlohr Bueso (6):
perf bench futex: Group test parameters cleanup
perf bench futex: Remove bogus backslash from comment
perf bench futex: Add --mlockall parameter
perf bench futex, requeue: Add --broadcast option
perf bench futex, requeue: Robustify futex_wait() handling
perf bench futex, requeue: Add --pi parameter

Eirik Fuller (1):
perf test: Handle fd gaps in test__dso_data_reopen

Ian Rogers (9):
perf doc: Fix perfman.info build
perf doc: Fix doc.dep
perf doc: Remove references to user-manual
perf doc: Add info pages to all target.
perf doc: Remove cmd-list.perl references
perf doc: Remove howto-index.sh related references.
perf doc: Reorganize ARTICLES variables.
perf beauty: Reuse the generic arch errno switch
perf bpf: Fix memory leaks relating to BTF.

James Clark (26):
perf cs-etm: Refactor initialisation of kernel start address
perf cs-etm: Split setup and timestamp search functions
perf cs-etm: Only setup queues when they are modified
perf cs-etm: Suppress printing when resetting decoder
perf cs-etm: Use existing decoder instead of resetting it
perf cs-etm: Pass unformatted flag to decoder
perf tools: Add WARN_ONCE equivalent for UI warnings
perf annotate: Re-add annotate_warned functionality
perf annotate: Add disassembly warnings for annotate --stdio
perf tools: Add flag for tracking warnings of missing DSOs
perf cs-etm: Improve Coresight zero timestamp warning
perf cs-etm: Add warnings for missing DSOs
perf tests: Fix *probe_vfs_getname.sh test failures
perf tools: Refactor LLVM test warning for missing binary
perf tools: Fix LLVM test failure when running in verbose mode
perf tools: Fix LLVM download hint link
tools build: Fix feature detect clean for out of source builds
perf cs-etm: Refactor initialisation of decoder params.
perf cs-etm: Initialise architecture based on TRCIDR1
perf cs-etm: Refactor out ETMv4 header saving
perf cs-etm: Save TRCDEVARCH register
perf cs-etm: Fix typo
perf cs-etm: Update OpenCSD decoder for ETE
perf cs-etm: Create ETE decoder
perf cs-etm: Print the decoder name
perf cs-etm: Show a warning for an unknown magic number

Jin Yao (15):
perf vendor events intel: Add core event list for Tigerlake
perf vendor events: Add metrics for Tigerlake
perf vendor events intel: Add core event list for Elkhartlake
perf vendor events intel: Add basic metrics for Elkhartlake
perf vendor events: Add metrics for Icelake Server
perf vendor events intel: Update core event list for CascadeLake Server
perf vendor events intel: Update uncore event list for CascadeLake Server
perf vendor events: Update metrics for CascadeLake Server
perf vendor events intel: Update core event list for SkyLake Server
perf vendor events intel: Update uncore event list for SkyLake Server
perf vendor events: Update metrics for SkyLake Server
libperf: Add perf_cpu_map__default_new()
perf tools: Create hybrid flag in target
perf tools: Enable on a list of CPUs for hybrid
perf tests: Add test for PMU aliases

John Garry (12):
perf jevents: Make build dependency on test JSONs
perf test: Factor out pmu-events event comparison
perf jevents: Relocate test events to cpu folder
perf test: Declare pmu-events test events separately
perf test: Factor out pmu-events alias comparison
perf test: Test pmu-events core aliases separately
perf pmu: Check .is_uncore field in pmu_add_cpu_aliases_map()
perf test: Re-add pmu-event uncore PMU alias test
perf test: Add more pmu-events uncore aliases
perf pmu: Make pmu_add_sys_aliases() public
perf jevents: Print SoC name per system event table
perf test: Add pmu-events sys event support

Joshua Martinez (1):
perf data: Correct -h output

Kan Liang (1):
perf pmu: Add PMU alias support

Leo Yan (9):
perf auxtrace: Use WRITE_ONCE() for updating aux_tail
perf auxtrace: Drop legacy __sync functions
perf auxtrace: Remove auxtrace_mmap__read_snapshot_head()
perf: Cleanup for HAVE_SYNC_COMPARE_AND_SWAP_SUPPORT
tools: Remove feature-sync-compare-and-swap feature detection
perf env: Track kernel 64-bit mode in environment
perf auxtrace: Add compat_auxtrace_mmap__{read_head|write_tail}
perf auxtrace arm: Support compat_auxtrace_mmap__{read_head|write_tail}
perf build: Report failure for testing feature libopencsd

Li Huafei (3):
perf env: Normalize aarch64.* and arm64.* to arm64 in normalize_arch()
perf annotate: Add error log in symbol__annotate()
perf unwind: Do not overwrite FEATURE_CHECK_LDFLAGS-libunwind-{x86,aarch64}

Namhyung Kim (8):
perf tools: Remove repipe argument from perf_session__new()
perf tools: Pass a fd to perf_file_header__read_pipe()
perf inject: Fix output from a pipe to a file
perf inject: Fix output from a file to a pipe
perf tools: Add pipe_test.sh to verify pipe operations
perf test: Do not compare overheads in the zstd comp test
perf stat: Do not allow --for-each-cgroup without cpu
perf record: Fix wrong comm in system-wide mode with delay

Nghia Le (1):
perf tools: Add missing newline at the end of header file

Riccardo Mancini (19):
perf bench: Add benchmark for evlist open/close operations
perf test: Make --skip work on shell tests
tools: Add sparse context/locking annotations in compiler-types.h
perf tests dlfilter: Free desc and long_desc in check_filter_desc
libsubcmd: add OPT_UINTEGER_OPTARG option type
libperf cpumap: Take into advantage it is sorted to optimize perf_cpu_map__max()
perf mmap: Add missing bitops.h header
perf evsel: Remove retry_sample_id goto label
perf evsel: Separate open preparation from open itself
perf evsel: Save open flags in evsel in prepare_open()
perf evsel: Separate missing feature disabling from evsel__open_cpu
perf evsel: Add evsel__prepare_open()
perf evsel: Separate missing feature detection from evsel__open_cpu()
perf evsel: Separate rlimit increase from evsel__open_cpu()
perf evsel: Move ignore_missing_thread() to fallback code
perf evsel: Move test_attr__open() to success path in evsel__open_cpu()
perf evsel: Move bpf_counter__install_pe() to success path in evsel__open_cpu()
perf evsel: Handle precise_ip fallback in evsel__open_cpu()
perf evlist: Add evlist__for_each_entry_from() macro

Shunsuke Nakamura (1):
libperf tests: Fix verbose printing

Stephen Brennan (2):
perf script python: Fix unintended underline
perf script python: Allow reporting the [un]throttle PERF_RECORD_ meta event

Suzuki K Poulose (1):
perf session: Report collisions in AUX records

Wei Li (1):
perf trace: Update cmd string table to decode sys_bpf first arg

tools/build/Makefile | 2 +-
tools/build/Makefile.feature | 1 -
tools/build/feature/Makefile | 4 -
tools/build/feature/test-all.c | 4 -
tools/build/feature/test-libopencsd.c | 4 +-
tools/build/feature/test-sync-compare-and-swap.c | 15 -
tools/include/linux/compiler_types.h | 18 +
tools/lib/perf/cpumap.c | 15 +-
tools/lib/perf/include/internal/tests.h | 2 +
tools/lib/perf/include/perf/cpumap.h | 1 +
tools/lib/subcmd/parse-options.h | 1 +
tools/perf/Documentation/Makefile | 74 +-
tools/perf/Documentation/build-docdep.perl | 46 +
tools/perf/Documentation/cat-texi.perl | 46 +
tools/perf/Documentation/intel-hybrid.txt | 2 +-
tools/perf/Documentation/perf-c2c.txt | 2 +-
tools/perf/Documentation/perf-dlfilter.txt | 12 +-
tools/perf/Documentation/perf-iostat.txt | 4 +-
tools/perf/Documentation/perf-record.txt | 2 +-
tools/perf/Documentation/perf-script-python.txt | 2 +-
tools/perf/Documentation/perf-script.txt | 2 +-
tools/perf/Documentation/perf-stat.txt | 14 +-
tools/perf/Makefile.config | 14 +-
tools/perf/Makefile.perf | 17 +-
tools/perf/arch/arm/util/auxtrace.c | 32 +
tools/perf/arch/arm/util/cs-etm.c | 97 +-
tools/perf/arch/x86/util/pmu.c | 155 +-
tools/perf/bench/Build | 1 +
tools/perf/bench/bench.h | 1 +
tools/perf/bench/evlist-open-close.c | 258 +
tools/perf/bench/futex-hash.c | 62 +-
tools/perf/bench/futex-lock-pi.c | 60 +-
tools/perf/bench/futex-requeue.c | 159 +-
tools/perf/bench/futex-wake-parallel.c | 66 +-
tools/perf/bench/futex-wake.c | 65 +-
tools/perf/bench/futex.h | 52 +-
tools/perf/bench/inject-buildid.c | 52 +-
tools/perf/bench/synthesize.c | 4 +-
tools/perf/builtin-annotate.c | 2 +-
tools/perf/builtin-bench.c | 1 +
tools/perf/builtin-buildid-cache.c | 2 +-
tools/perf/builtin-buildid-list.c | 2 +-
tools/perf/builtin-c2c.c | 2 +-
tools/perf/builtin-data.c | 62 +-
tools/perf/builtin-diff.c | 4 +-
tools/perf/builtin-evlist.c | 2 +-
tools/perf/builtin-inject.c | 38 +-
tools/perf/builtin-kmem.c | 2 +-
tools/perf/builtin-kvm.c | 4 +-
tools/perf/builtin-lock.c | 2 +-
tools/perf/builtin-mem.c | 3 +-
tools/perf/builtin-record.c | 50 +-
tools/perf/builtin-report.c | 2 +-
tools/perf/builtin-sched.c | 4 +-
tools/perf/builtin-script.c | 19 +-
tools/perf/builtin-stat.c | 14 +-
tools/perf/builtin-timechart.c | 3 +-
tools/perf/builtin-top.c | 2 +-
tools/perf/builtin-trace.c | 12 +-
tools/perf/dlfilters/dlfilter-test-api-v0.c | 336 ++
tools/perf/{util => include/perf}/perf_dlfilter.h | 0
tools/perf/pmu-events/Build | 5 +-
.../test/{test_cpu => test_soc/cpu}/branch.json | 0
.../test/{test_cpu => test_soc/cpu}/cache.json | 0
.../test/{test_cpu => test_soc/cpu}/other.json | 0
.../test/{test_cpu => test_soc/cpu}/uncore.json | 23 +-
.../pmu-events/arch/test/test_soc/sys/uncore.json | 9 +
.../pmu-events/arch/x86/cascadelakex/cache.json | 5468 ++++++++++----------
.../arch/x86/cascadelakex/clx-metrics.json | 253 +-
.../arch/x86/cascadelakex/floating-point.json | 48 +-
.../pmu-events/arch/x86/cascadelakex/frontend.json | 550 +-
.../pmu-events/arch/x86/cascadelakex/memory.json | 5444 +++++++++----------
.../pmu-events/arch/x86/cascadelakex/other.json | 4146 +++++++--------
.../pmu-events/arch/x86/cascadelakex/pipeline.json | 1046 ++--
.../arch/x86/cascadelakex/uncore-memory.json | 21 +-
.../arch/x86/cascadelakex/uncore-other.json | 161 +-
.../arch/x86/cascadelakex/virtual-memory.json | 256 +-
.../pmu-events/arch/x86/elkhartlake/cache.json | 226 +
.../arch/x86/elkhartlake/ehl-metrics.json | 57 +
.../arch/x86/elkhartlake/floating-point.json | 24 +
.../pmu-events/arch/x86/elkhartlake/frontend.json | 93 +
.../pmu-events/arch/x86/elkhartlake/memory.json | 86 +
.../pmu-events/arch/x86/elkhartlake/other.json | 424 ++
.../pmu-events/arch/x86/elkhartlake/pipeline.json | 278 +
.../arch/x86/elkhartlake/virtual-memory.json | 273 +
.../pmu-events/arch/x86/icelakex/icx-metrics.json | 315 ++
tools/perf/pmu-events/arch/x86/mapfile.csv | 3 +-
tools/perf/pmu-events/arch/x86/skylakex/cache.json | 1724 +++---
.../arch/x86/skylakex/floating-point.json | 56 +-
.../pmu-events/arch/x86/skylakex/frontend.json | 580 +--
.../perf/pmu-events/arch/x86/skylakex/memory.json | 1300 ++---
tools/perf/pmu-events/arch/x86/skylakex/other.json | 104 +-
.../pmu-events/arch/x86/skylakex/pipeline.json | 1068 ++--
.../pmu-events/arch/x86/skylakex/skx-metrics.json | 247 +-
.../arch/x86/skylakex/uncore-memory.json | 9 -
.../pmu-events/arch/x86/skylakex/uncore-other.json | 171 +-
.../arch/x86/skylakex/virtual-memory.json | 288 +-
.../perf/pmu-events/arch/x86/tigerlake/cache.json | 595 +++
.../arch/x86/tigerlake/floating-point.json | 94 +
.../pmu-events/arch/x86/tigerlake/frontend.json | 463 ++
.../perf/pmu-events/arch/x86/tigerlake/memory.json | 295 ++
.../perf/pmu-events/arch/x86/tigerlake/other.json | 189 +
.../pmu-events/arch/x86/tigerlake/pipeline.json | 982 ++++
.../pmu-events/arch/x86/tigerlake/tgl-metrics.json | 231 +
.../arch/x86/tigerlake/virtual-memory.json | 225 +
tools/perf/pmu-events/jevents.c | 5 +-
tools/perf/pmu-events/pmu-events.h | 1 +
tools/perf/scripts/python/flamegraph.py | 108 +-
tools/perf/tests/Build | 1 +
tools/perf/tests/builtin-test.c | 15 +-
tools/perf/tests/dlfilter-test.c | 416 ++
tools/perf/tests/dso-data.c | 14 +-
tools/perf/tests/llvm.c | 7 +-
tools/perf/tests/parse-events.c | 92 +
tools/perf/tests/pmu-events.c | 699 ++-
tools/perf/tests/shell/lib/probe_vfs_getname.sh | 2 +-
tools/perf/tests/shell/pipe_test.sh | 69 +
tools/perf/tests/shell/record+zstd_comp_decomp.sh | 4 +-
tools/perf/tests/tests.h | 1 +
tools/perf/tests/topology.c | 4 +-
tools/perf/trace/beauty/arch_errno_names.sh | 11 +-
tools/perf/ui/browsers/annotate.c | 1 +
tools/perf/ui/gtk/annotate.c | 1 +
tools/perf/util/annotate.c | 26 +-
tools/perf/util/auxtrace.c | 104 +-
tools/perf/util/auxtrace.h | 49 +-
tools/perf/util/bpf-event.c | 4 +-
tools/perf/util/config.c | 5 +-
tools/perf/util/cs-etm-decoder/cs-etm-decoder.c | 170 +-
tools/perf/util/cs-etm-decoder/cs-etm-decoder.h | 13 +
tools/perf/util/cs-etm.c | 238 +-
tools/perf/util/cs-etm.h | 11 +
tools/perf/util/data-convert-bt.c | 2 +-
tools/perf/util/data-convert-json.c | 2 +-
tools/perf/util/debug.h | 14 +
tools/perf/util/dlfilter.c | 6 +-
tools/perf/util/dlfilter.h | 2 +
tools/perf/util/dso.h | 1 +
tools/perf/util/env.c | 26 +-
tools/perf/util/env.h | 3 +
tools/perf/util/events_stats.h | 1 +
tools/perf/util/evlist-hybrid.c | 73 +
tools/perf/util/evlist-hybrid.h | 1 +
tools/perf/util/evlist.c | 3 +-
tools/perf/util/evlist.h | 16 +
tools/perf/util/evsel.c | 397 +-
tools/perf/util/evsel.h | 14 +
tools/perf/util/get_current_dir_name.c | 3 +-
tools/perf/util/header.c | 14 +-
tools/perf/util/header.h | 2 +-
tools/perf/util/llvm-utils.c | 40 +-
tools/perf/util/mmap.h | 1 +
tools/perf/util/parse-events.y | 3 +-
tools/perf/util/parse-sublevel-options.h | 2 +-
tools/perf/util/pmu.c | 80 +-
tools/perf/util/pmu.h | 10 +
.../util/scripting-engines/trace-event-python.c | 32 +
tools/perf/util/session.c | 20 +-
tools/perf/util/session.h | 12 +-
tools/perf/util/synthetic-events.c | 53 +-
tools/perf/util/synthetic-events.h | 6 +
tools/perf/util/target.h | 1 +
tools/perf/util/trace-event.h | 3 +
163 files changed, 20109 insertions(+), 12571 deletions(-)
delete mode 100644 tools/build/feature/test-sync-compare-and-swap.c
create mode 100755 tools/perf/Documentation/build-docdep.perl
create mode 100755 tools/perf/Documentation/cat-texi.perl
create mode 100644 tools/perf/bench/evlist-open-close.c
create mode 100644 tools/perf/dlfilters/dlfilter-test-api-v0.c
rename tools/perf/{util => include/perf}/perf_dlfilter.h (100%)
rename tools/perf/pmu-events/arch/test/{test_cpu => test_soc/cpu}/branch.json (100%)
rename tools/perf/pmu-events/arch/test/{test_cpu => test_soc/cpu}/cache.json (100%)
rename tools/perf/pmu-events/arch/test/{test_cpu => test_soc/cpu}/other.json (100%)
rename tools/perf/pmu-events/arch/test/{test_cpu => test_soc/cpu}/uncore.json (51%)
create mode 100644 tools/perf/pmu-events/arch/test/test_soc/sys/uncore.json
create mode 100644 tools/perf/pmu-events/arch/x86/elkhartlake/cache.json
create mode 100644 tools/perf/pmu-events/arch/x86/elkhartlake/ehl-metrics.json
create mode 100644 tools/perf/pmu-events/arch/x86/elkhartlake/floating-point.json
create mode 100644 tools/perf/pmu-events/arch/x86/elkhartlake/frontend.json
create mode 100644 tools/perf/pmu-events/arch/x86/elkhartlake/memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/elkhartlake/other.json
create mode 100644 tools/perf/pmu-events/arch/x86/elkhartlake/pipeline.json
create mode 100644 tools/perf/pmu-events/arch/x86/elkhartlake/virtual-memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/icelakex/icx-metrics.json
create mode 100644 tools/perf/pmu-events/arch/x86/tigerlake/cache.json
create mode 100644 tools/perf/pmu-events/arch/x86/tigerlake/floating-point.json
create mode 100644 tools/perf/pmu-events/arch/x86/tigerlake/frontend.json
create mode 100644 tools/perf/pmu-events/arch/x86/tigerlake/memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/tigerlake/other.json
create mode 100644 tools/perf/pmu-events/arch/x86/tigerlake/pipeline.json
create mode 100644 tools/perf/pmu-events/arch/x86/tigerlake/tgl-metrics.json
create mode 100644 tools/perf/pmu-events/arch/x86/tigerlake/virtual-memory.json
create mode 100644 tools/perf/tests/dlfilter-test.c
create mode 100755 tools/perf/tests/shell/pipe_test.sh

Test results:

The first ones are container based builds of tools/perf with and without libelf
support. Where clang is available, it is also used to build perf with/without
libelf, and building with LIBCLANGLLVM=1 (built-in clang) with gcc and clang
when clang and its devel libraries are installed.

The objtool and samples/bpf/ builds are disabled now that I'm switching from
using the sources in a local volume to fetching them from a http server to
build it inside the container, to make it easier to build in a container cluster.
Those will come back later.

Several are cross builds, the ones with -x-ARCH and the android one, and those
may not have all the features built, due to lack of multi-arch devel packages,
available and being used so far on just a few, like
debian:experimental-x-{arm64,mipsel}.

The 'perf test' one will perform a variety of tests exercising
tools/perf/util/, tools/lib/{bpf,traceevent,etc}, as well as run perf commands
with a variety of command line event specifications to then intercept the
sys_perf_event syscall to check that the perf_event_attr fields are set up as
expected, among a variety of other unit tests.

Then there is the 'make -C tools/perf build-test' ones, that build tools/perf/
with a variety of feature sets, exercising the build with an incomplete set of
features as well as with a complete one.

The following ones are now being run on all the containers, so far just with
gcc, clang will come later. All clear for this batch.

There is still the mageia:7 distro + clang 8 failure, seemingly unrelated to
the patches in this series, it'll be investigated. It builds just fine with gcc
8.4.

There is also a strange one with openmandriva:cooker, where on the feature build
test it doesn't manage to find libpthread, looks like a distro problem, will keep
it there to see if a refreshed container cures this soon.

1 almalinux:8 : Ok gcc (GCC) 8.4.1 20200928 (Red Hat 8.4.1-1) , clang version 11.0.0 (Red Hat 11.0.0-1.module_el8.4.0+2107+39fed697)
2 alpine:3.4 : Ok gcc (Alpine 5.3.0) 5.3.0 , clang version 3.8.0 (tags/RELEASE_380/final)
3 alpine:3.5 : Ok gcc (Alpine 6.2.1) 6.2.1 20160822 , clang version 3.8.1 (tags/RELEASE_381/final)
4 alpine:3.6 : Ok gcc (Alpine 6.3.0) 6.3.0 , clang version 4.0.0 (tags/RELEASE_400/final)
5 alpine:3.7 : Ok gcc (Alpine 6.4.0) 6.4.0 , Alpine clang version 5.0.0 (tags/RELEASE_500/final) (based on LLVM 5.0.0)
6 alpine:3.8 : Ok gcc (Alpine 6.4.0) 6.4.0 , Alpine clang version 5.0.1 (tags/RELEASE_501/final) (based on LLVM 5.0.1)
7 alpine:3.9 : Ok gcc (Alpine 8.3.0) 8.3.0 , Alpine clang version 5.0.1 (tags/RELEASE_502/final) (based on LLVM 5.0.1)
8 alpine:3.10 : Ok gcc (Alpine 8.3.0) 8.3.0 , Alpine clang version 8.0.0 (tags/RELEASE_800/final) (based on LLVM 8.0.0)
9 alpine:3.11 : Ok gcc (Alpine 9.3.0) 9.3.0 , Alpine clang version 9.0.0 (https://git.alpinelinux.org/aports f7f0d2c2b8bcd6a5843401a9a702029556492689) (based on LLVM 9.0.0)
10 alpine:3.12 : Ok gcc (Alpine 9.3.0) 9.3.0 , Alpine clang version 10.0.0 (https://gitlab.alpinelinux.org/alpine/aports.git 7445adce501f8473efdb93b17b5eaf2f1445ed4c)
11 alpine:3.13 : Ok gcc (Alpine 10.2.1_pre1) 10.2.1 20201203 , Alpine clang version 10.0.1
12 alpine:3.14 : Ok gcc (Alpine 10.3.1_git20210424) 10.3.1 20210424 , Alpine clang version 11.1.0
13 alpine:edge : Ok gcc (Alpine 10.3.1_git20210625) 10.3.1 20210625 , Alpine clang version 11.1.0
14 alt:p8 : Ok x86_64-alt-linux-gcc (GCC) 5.3.1 20151207 (ALT p8 5.3.1-alt3.M80P.1) , clang version 3.8.0 (tags/RELEASE_380/final)
15 alt:p9 : Ok x86_64-alt-linux-gcc (GCC) 8.4.1 20200305 (ALT p9 8.4.1-alt0.p9.1) , clang version 10.0.0
16 alt:sisyphus : Ok x86_64-alt-linux-gcc (GCC) 10.2.1 20210313 (ALT Sisyphus 10.2.1-alt3) , clang version 10.0.1
17 amazonlinux:1 : Ok gcc (GCC) 7.2.1 20170915 (Red Hat 7.2.1-2) , clang version 3.6.2 (tags/RELEASE_362/final)
18 amazonlinux:2 : Ok gcc (GCC) 7.3.1 20180712 (Red Hat 7.3.1-13) , clang version 11.1.0 (Amazon Linux 2 11.1.0-1.amzn2.0.2)
19 android-ndk:r12b-arm : Ok arm-linux-androideabi-gcc (GCC) 4.9.x 20150123 (prerelease)
20 android-ndk:r15c-arm : Ok arm-linux-androideabi-gcc (GCC) 4.9.x 20150123 (prerelease)
21 centos:8 : Ok gcc (GCC) 8.4.1 20200928 (Red Hat 8.4.1-1) , clang version 11.0.0 (Red Hat 11.0.0-1.module_el8.4.0+587+5187cac0)
22 centos:stream : Ok gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-3) , clang version 12.0.0 (Red Hat 12.0.0-1.module_el8.5.0+840+21214faf)
23 clearlinux:latest : Ok gcc (Clear Linux OS for Intel Architecture) 11.2.1 20210826 releases/gcc-11.2.0-129-gcb8593a3f2 , clang version 11.1.0
24 debian:9 : Ok gcc (Debian 6.3.0-18+deb9u1) 6.3.0 20170516 , clang version 3.8.1-24 (tags/RELEASE_381/final)
25 debian:10 : Ok gcc (Debian 8.3.0-6) 8.3.0 , clang version 7.0.1-8+deb10u2 (tags/RELEASE_701/final)
26 debian:11 : Ok gcc (Debian 10.2.1-6) 10.2.1 20210110 , Debian clang version 11.0.1-2
27 debian:experimental : Ok gcc (Debian 10.2.1-6) 10.2.1 20210110 , Debian clang version 11.0.1-2
28 debian:experimental-x-arm64 : Ok aarch64-linux-gnu-gcc (Debian 10.2.1-6) 10.2.1 20210110
29 debian:experimental-x-mips : Ok mips-linux-gnu-gcc (Debian 10.2.1-6) 10.2.1 20210110
30 debian:experimental-x-mips64 : Ok mips64-linux-gnuabi64-gcc (Debian 10.2.1-6) 10.2.1 20210110
31 debian:experimental-x-mipsel : Ok mipsel-linux-gnu-gcc (Debian 10.2.1-6) 10.2.1 20210110
32 fedora:22 : Ok gcc (GCC) 5.3.1 20160406 (Red Hat 5.3.1-6) , clang version 3.5.0 (tags/RELEASE_350/final)
33 fedora:23 : Ok gcc (GCC) 5.3.1 20160406 (Red Hat 5.3.1-6) , clang version 3.7.0 (tags/RELEASE_370/final)
34 fedora:24 : Ok gcc (GCC) 6.3.1 20161221 (Red Hat 6.3.1-1) , clang version 3.8.1 (tags/RELEASE_381/final)
35 fedora:24-x-ARC-uClibc : Ok arc-linux-gcc (ARCompact ISA Linux uClibc toolchain 2017.09-rc2) 7.1.1 20170710
36 fedora:25 : Ok gcc (GCC) 6.4.1 20170727 (Red Hat 6.4.1-1) , clang version 3.9.1 (tags/RELEASE_391/final)
37 fedora:26 : Ok gcc (GCC) 7.3.1 20180130 (Red Hat 7.3.1-2) , clang version 4.0.1 (tags/RELEASE_401/final)
38 fedora:27 : Ok gcc (GCC) 7.3.1 20180712 (Red Hat 7.3.1-6) , clang version 5.0.2 (tags/RELEASE_502/final)
39 fedora:28 : Ok gcc (GCC) 8.3.1 20190223 (Red Hat 8.3.1-2) , clang version 6.0.1 (tags/RELEASE_601/final)
40 fedora:29 : Ok gcc (GCC) 8.3.1 20190223 (Red Hat 8.3.1-2) , clang version 7.0.1 (Fedora 7.0.1-6.fc29)
41 fedora:30 : Ok gcc (GCC) 9.3.1 20200408 (Red Hat 9.3.1-2) , clang version 8.0.0 (Fedora 8.0.0-3.fc30)
42 fedora:31 : Ok gcc (GCC) 9.3.1 20200408 (Red Hat 9.3.1-2) , clang version 9.0.1 (Fedora 9.0.1-4.fc31)
43 fedora:32 : Ok gcc (GCC) 10.3.1 20210422 (Red Hat 10.3.1-1) , clang version 10.0.1 (Fedora 10.0.1-3.fc32)
44 fedora:33 : Ok gcc (GCC) 10.3.1 20210422 (Red Hat 10.3.1-1) , clang version 11.0.0 (Fedora 11.0.0-3.fc33)
45 fedora:34 : Ok gcc (GCC) 11.2.1 20210728 (Red Hat 11.2.1-1) , clang version 12.0.1 (Fedora 12.0.1-1.fc34)
46 fedora:34-x-ARC-glibc : Ok arc-linux-gcc (ARC HS GNU/Linux glibc toolchain 2019.03-rc1) 8.3.1 20190225
47 fedora:34-x-ARC-uClibc : Ok arc-linux-gcc (ARCv2 ISA Linux uClibc toolchain 2019.03-rc1) 8.3.1 20190225
48 fedora:35 : Ok gcc (GCC) 11.2.1 20210728 (Red Hat 11.2.1-1) , clang version 13.0.0 (Fedora 13.0.0~rc1-1.fc35)
49 fedora:rawhide : Ok gcc (GCC) 11.2.1 20210728 (Red Hat 11.2.1-1) , clang version 13.0.0 (Fedora 13.0.0~rc1-1.fc35)
50 gentoo-stage3:latest : Ok gcc (Gentoo 10.3.0-r2 p3) 10.3.0
51 mageia:6 : Ok gcc (Mageia 5.5.0-1.mga6) 5.5.0 , clang version 3.9.1 (tags/RELEASE_391/final)
52 mageia:7 : FAIL clang version 8.0.0 (Mageia 8.0.0-1.mga7)
yychar = yylex (&yylval, &yylloc, scanner);
^
#define yylex parse_events_lex
^
1 error generated.
make[3]: *** [/git/perf-5.14.0/tools/build/Makefile.build:139: util] Error 2
53 openmandriva:cooker : FAIL gcc version 11.2.0 20210728 (OpenMandriva) (GCC)
In file included from builtin-bench.c:22:
bench/bench.h:66:19: error: conflicting types for 'pthread_attr_setaffinity_np'; have 'int(pthread_attr_t *, size_t, cpu_set_t *)' {aka 'int(pthread_attr_t *, long unsigned int, cpu_set_t *)'}
66 | static inline int pthread_attr_setaffinity_np(pthread_attr_t *attr __maybe_unused,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from bench/bench.h:64,
from builtin-bench.c:22:
/usr/include/pthread.h:394:12: note: previous declaration of 'pthread_attr_setaffinity_np' with type 'int(pthread_attr_t *, size_t, const cpu_set_t *)' {aka 'int(pthread_attr_t *, long unsigned int, const cpu_set_t *)'}
394 | extern int pthread_attr_setaffinity_np (pthread_attr_t *__attr,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
54 opensuse:15.0 : Ok gcc (SUSE Linux) 7.4.1 20190905 [gcc-7-branch revision 275407] , clang version 5.0.1 (tags/RELEASE_501/final 312548)
55 opensuse:15.1 : Ok gcc (SUSE Linux) 7.5.0 , clang version 7.0.1 (tags/RELEASE_701/final 349238)
56 opensuse:15.2 : Ok gcc (SUSE Linux) 7.5.0 , clang version 9.0.1
57 opensuse:15.3 : Ok gcc (SUSE Linux) 7.5.0 , clang version 11.0.1
58 opensuse:tumbleweed : Ok gcc (SUSE Linux) 11.1.1 20210721 [revision 076930b9690ac3564638636f6b13bbb6bc608aea] , clang version 12.0.1
59 oraclelinux:8 : Ok gcc (GCC) 8.4.1 20200928 (Red Hat 8.4.1-1.0.1) , clang version 11.0.0 (Red Hat 11.0.0-1.0.1.module+el8.4.0+20046+39fed697)
60 rockylinux:8 : Ok gcc (GCC) 8.4.1 20200928 (Red Hat 8.4.1-1) , clang version 11.0.0 (Red Hat 11.0.0-1.module+el8.4.0+412+05cf643f)
61 ubuntu:16.04 : Ok gcc (Ubuntu 5.4.0-6ubuntu1~16.04.12) 5.4.0 20160609 , clang version 3.8.0-2ubuntu4 (tags/RELEASE_380/final)
62 ubuntu:16.04-x-arm : Ok arm-linux-gnueabihf-gcc (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
63 ubuntu:16.04-x-arm64 : Ok aarch64-linux-gnu-gcc (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
64 ubuntu:16.04-x-powerpc : Ok powerpc-linux-gnu-gcc (Ubuntu 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
65 ubuntu:16.04-x-powerpc64 : Ok powerpc64-linux-gnu-gcc (Ubuntu/IBM 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
66 ubuntu:16.04-x-powerpc64el : Ok powerpc64le-linux-gnu-gcc (Ubuntu/IBM 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
67 ubuntu:16.04-x-s390 : Ok s390x-linux-gnu-gcc (Ubuntu 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
68 ubuntu:18.04 : Ok gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0 , clang version 6.0.0-1ubuntu2 (tags/RELEASE_600/final)
69 ubuntu:18.04-x-arm : Ok arm-linux-gnueabihf-gcc (Ubuntu/Linaro 7.5.0-3ubuntu1~18.04) 7.5.0
70 ubuntu:18.04-x-arm64 : Ok aarch64-linux-gnu-gcc (Ubuntu/Linaro 7.5.0-3ubuntu1~18.04) 7.5.0
71 ubuntu:18.04-x-m68k : Ok m68k-linux-gnu-gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0
72 ubuntu:18.04-x-powerpc : Ok powerpc-linux-gnu-gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0
73 ubuntu:18.04-x-powerpc64 : Ok powerpc64-linux-gnu-gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0
74 ubuntu:18.04-x-powerpc64el : Ok powerpc64le-linux-gnu-gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0
75 ubuntu:18.04-x-riscv64 : Ok riscv64-linux-gnu-gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0
76 ubuntu:18.04-x-s390 : Ok s390x-linux-gnu-gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0
77 ubuntu:18.04-x-sh4 : Ok sh4-linux-gnu-gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0
78 ubuntu:18.04-x-sparc64 : Ok sparc64-linux-gnu-gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0
79 ubuntu:20.04 : Ok gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0 , clang version 10.0.0-4ubuntu1
80 ubuntu:20.04-x-powerpc64el : Ok powerpc64le-linux-gnu-gcc (Ubuntu 10.3.0-1ubuntu1~20.04) 10.3.0
81 ubuntu:20.10 : Ok gcc (Ubuntu 10.3.0-1ubuntu1~20.10) 10.3.0 , Ubuntu clang version 11.0.0-2
82 ubuntu:21.04 : Ok gcc (Ubuntu 10.3.0-1ubuntu1) 10.3.0 , Ubuntu clang version 12.0.0-3ubuntu1~21.04.1
83 ubuntu:21.10 : Ok gcc (Ubuntu 11.2.0-1ubuntu2) 11.2.0 , Ubuntu clang version 12.0.1-1
$

# git log --oneline -1
c7a3828d98db (HEAD -> perf/core, tag: perf-tools-for-v5.15-2021-09-04, five/perf/core, acme.korg/tmp.perf/core) perf tests: Add test for PMU aliases
# uname -a
Linux quaco 5.13.13-200.fc34.x86_64 #1 SMP Thu Aug 26 17:06:39 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
# perf -vv
perf version 5.14.gc7a3828d98db
dwarf: [ on ] # HAVE_DWARF_SUPPORT
dwarf_getlocations: [ on ] # HAVE_DWARF_GETLOCATIONS_SUPPORT
glibc: [ on ] # HAVE_GLIBC_SUPPORT
syscall_table: [ on ] # HAVE_SYSCALL_TABLE_SUPPORT
libbfd: [ on ] # HAVE_LIBBFD_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: [ on ] # HAVE_LIBPYTHON_SUPPORT
libslang: [ on ] # 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
# perf test
1: vmlinux symtab matches kallsyms : Ok
2: Detect openat syscall event : Ok
3: Detect openat syscall event on all cpus : Ok
4: Read samples using the mmap interface : Ok
5: Test data source output : Ok
6: Parse event definition strings : Ok
7: Simple expression parser : Ok
8: PERF_RECORD_* events & perf_sample fields : Ok
9: Parse perf pmu format : Ok
10: PMU events :
10.1: PMU event table sanity : Ok
10.2: PMU event map aliases : Ok
10.3: Parsing of PMU event table metrics : Ok
10.4: Parsing of PMU event table metrics with fake PMUs : Ok
11: DSO data read : Ok
12: DSO data cache : Ok
13: DSO data reopen : Ok
14: Roundtrip evsel->name : Ok
15: Parse sched tracepoints fields : Ok
16: syscalls:sys_enter_openat event fields : Ok
17: Setup struct perf_event_attr : Ok
18: Match and link multiple hists : Ok
19: 'import perf' in python : Ok
20: Breakpoint overflow signal handler : Ok
21: Breakpoint overflow sampling : Ok
22: Breakpoint accounting : Ok
23: Watchpoint :
23.1: Read Only Watchpoint : Skip (missing hardware support)
23.2: Write Only Watchpoint : Ok
23.3: Read / Write Watchpoint : Ok
23.4: Modify Watchpoint : Ok
24: Number of exit events of a simple workload : Ok
25: Software clock events period values : Ok
26: Object code reading : Ok
27: Sample parsing : Ok
28: Use a dummy software event to keep tracking : Ok
29: Parse with no sample_id_all bit set : Ok
30: Filter hist entries : Ok
31: Lookup mmap thread : Ok
32: Share thread maps : Ok
33: Sort output of hist entries : Ok
34: Cumulate child hist entries : Ok
35: Track with sched_switch : Ok
36: Filter fds with revents mask in a fdarray : Ok
37: Add fd to a fdarray, making it autogrow : Ok
38: kmod_path__parse : Ok
39: Thread map : Ok
40: LLVM search and compile :
40.1: Basic BPF llvm compile : Ok
40.2: kbuild searching : Ok
40.3: Compile source for BPF prologue generation : Ok
40.4: Compile source for BPF relocation : Ok
41: Session topology : Ok
42: BPF filter :
42.1: Basic BPF filtering : Ok
42.2: BPF pinning : Ok
42.3: BPF prologue generation : Ok
43: Synthesize thread map : Ok
44: Remove thread map : Ok
45: Synthesize cpu map : Ok
46: Synthesize stat config : Ok
47: Synthesize stat : Ok
48: Synthesize stat round : Ok
49: Synthesize attr update : Ok
50: Event times : Ok
51: Read backward ring buffer : Ok
52: Print cpu map : Ok
53: Merge cpu map : Ok
54: Probe SDT events : Ok
55: is_printable_array : Ok
56: Print bitmap : Ok
57: perf hooks : Ok
58: builtin clang support : Skip (not compiled in)
59: unit_number__scnprintf : Ok
60: mem2node : Ok
61: time utils : Ok
62: Test jit_write_elf : Ok
63: Test libpfm4 support : Skip (not compiled in)
64: Test api io : Ok
65: maps__merge_in : Ok
66: Demangle Java : Ok
67: Demangle OCaml : Ok
68: Parse and process metrics : Ok
69: PE file support : Ok
70: Event expansion for cgroups : Ok
71: Convert perf time to TSC : Ok
72: dlfilter C API : Ok
73: x86 rdpmc : Ok
74: DWARF unwind : Ok
75: x86 instruction decoder - new instructions : Ok
76: Intel PT packet decoder : Ok
77: x86 bp modify : Ok
78: x86 Sample parsing : Ok
79: build id cache operations : Ok
80: daemon operations : Ok
81: perf pipe recording and injection test : Ok
82: Add vfs_getname probe to get syscall args filenames : Ok
83: probe libc's inet_pton & backtrace it with ping : Ok
84: Use vfs_getname probe to get syscall args filenames : Ok
85: Zstd perf.data compression/decompression : Ok
86: perf stat csv summary test : Ok
87: perf stat metrics (shadow stat) test : Ok
88: perf stat --bpf-counters test : Ok
89: Check Arm CoreSight trace data recording and synthesized samples: Skip
90: Check open filename arg using perf trace + vfs_getname : Ok
#

$ make -C tools/perf build-test
make: Entering directory '/var/home/acme/git/perf/tools/perf'
- tarpkg: ./tests/perf-targz-src-pkg .
make_static: make LDFLAGS=-static NO_PERF_READ_VDSO32=1 NO_PERF_READ_VDSOX32=1 NO_JVMTI=1 -j24 DESTDIR=/tmp/tmp.QpDPwOhiSH
make_with_gtk2: make GTK2=1 -j24 DESTDIR=/tmp/tmp.rMpx3uqQea
- /var/home/acme/git/perf/tools/perf/BUILD_TEST_FEATURE_DUMP: make FEATURE_DUMP_COPY=/var/home/acme/git/perf/tools/perf/BUILD_TEST_FEATURE_DUMP feature-dump
make FEATURE_DUMP_COPY=/var/home/acme/git/perf/tools/perf/BUILD_TEST_FEATURE_DUMP feature-dump
make_libbpf_dynamic_O: make LIBBPF_DYNAMIC=1
make_install_bin_O: make install-bin
make_install_prefix_O: make install prefix=/tmp/krava
make_tags_O: make tags
make_minimal_O: make NO_LIBPERL=1 NO_LIBPYTHON=1 NO_NEWT=1 NO_GTK2=1 NO_DEMANGLE=1 NO_LIBELF=1 NO_LIBUNWIND=1 NO_BACKTRACE=1 NO_LIBNUMA=1 NO_LIBAUDIT=1 NO_LIBBIONIC=1 NO_LIBDW_DWARF_UNWIND=1 NO_AUXTRACE=1 NO_LIBBPF=1 NO_LIBCRYPTO=1 NO_SDT=1 NO_JVMTI=1 NO_LIBZSTD=1 NO_LIBCAP=1 NO_SYSCALL_TABLE=1
make_util_pmu_bison_o_O: make util/pmu-bison.o
make_no_libpython_O: make NO_LIBPYTHON=1
make_pure_O: make
make_no_libbpf_DEBUG_O: make NO_LIBBPF=1 DEBUG=1
make_clean_all_O: make clean all
make_no_syscall_tbl_O: make NO_SYSCALL_TABLE=1
make_no_newt_O: make NO_NEWT=1
make_no_libbionic_O: make NO_LIBBIONIC=1
make_no_libelf_O: make NO_LIBELF=1
make_no_gtk2_O: make NO_GTK2=1
make_no_auxtrace_O: make NO_AUXTRACE=1
make_no_scripts_O: make NO_LIBPYTHON=1 NO_LIBPERL=1
make_with_libpfm4_O: make LIBPFM4=1
make_with_babeltrace_O: make LIBBABELTRACE=1
make_no_libnuma_O: make NO_LIBNUMA=1
make_doc_O: make doc
make_install_prefix_slash_O: make install prefix=/tmp/krava/
make_no_sdt_O: make NO_SDT=1
make_no_slang_O: make NO_SLANG=1
make_help_O: make help
make_perf_o_O: make perf.o
make_no_libdw_dwarf_unwind_O: make NO_LIBDW_DWARF_UNWIND=1
make_no_libunwind_O: make NO_LIBUNWIND=1
make_no_libaudit_O: make NO_LIBAUDIT=1
make_with_clangllvm_O: make LIBCLANGLLVM=1
make_debug_O: make DEBUG=1
make_no_libcrypto_O: make NO_LIBCRYPTO=1
make_no_libperl_O: make NO_LIBPERL=1
make_util_map_o_O: make util/map.o
make_no_ui_O: make NO_NEWT=1 NO_SLANG=1 NO_GTK2=1
make_with_coresight_O: make CORESIGHT=1
make_no_backtrace_O: make NO_BACKTRACE=1
make_install_O: make install
make_no_libbpf_O: make NO_LIBBPF=1
make_no_demangle_O: make NO_DEMANGLE=1
OK
make: Leaving directory '/var/home/acme/git/perf/tools/perf'
$