
Pull perf tools updates from Arnaldo Carvalho de Melo: - cgroup improvements for 'perf stat', allowing for compact specification of events and cgroups in the command line. - Support per thread topdown metrics in 'perf stat'. - Support sample-read topdown metric group in 'perf record' - Show start of latency in addition to its start in 'perf sched latency'. - Add min, max to 'perf script' futex-contention output, in addition to avg. - Allow usage of 'perf_event_attr->exclusive' attribute via the new ':e' event modifier. - Add 'snapshot' command to 'perf record --control', using it with Intel PT. - Support FIFO file names as alternative options to 'perf record --control'. - Introduce branch history "streams", to compare 'perf record' runs with 'perf diff' based on branch records and report hot streams. - Support PE executable symbol tables using libbfd, to profile, for instance, wine binaries. - Add filter support for option 'perf ftrace -F/--funcs'. - Allow configuring the 'disassembler_style' 'perf annotate' knob via 'perf config' - Update CascadelakeX and SkylakeX JSON vendor events files. - Add support for parsing perchip/percore JSON vendor events. - Add power9 hv_24x7 core level metric events. - Add L2 prefetch, ITLB instruction fetch hits JSON events for AMD zen1. - Enable Family 19h users by matching Zen2 AMD vendor events. - Use debuginfod in 'perf probe' when required debug files not found locally. - Display negative tid in non-sample events in 'perf script'. - Make GTK2 support opt-in - Add build test with GTK+ - Add missing -lzstd to the fast path feature detection - Add scripts to auto generate 'mmap', 'mremap' string<->id tables for use in 'perf trace'. - Show python test script in verbose mode. - Fix uncore metric expressions - Msan uninitialized use fixes. - Use condition variables in 'perf bench numa' - Autodetect python3 binary in systems without python2. - Support md5 build ids in addition to sha1. - Add build id 'perf test' regression test. - Fix printable strings in python3 scripts. - Fix off by ones in 'perf trace' in arches using libaudit. - Fix JSON event code for events referencing std arch events. - Introduce 'perf test' shell script for Arm CoreSight testing. - Add rdtsc() for Arm64 for used in the PERF_RECORD_TIME_CONV metadata event and in 'perf test tsc'. - 'perf c2c' improvements: Add "RMT Load Hit" metric, "Total Stores", fixes and documentation update. - Fix usage of reloc_sym in 'perf probe' when using both kallsyms and debuginfo files. - Do not print 'Metric Groups:' unnecessarily in 'perf list' - Refcounting fixes in the event parsing code. - Add expand cgroup event 'perf test' entry. - Fix out of bounds CPU map access when handling armv8_pmu events in 'perf stat'. - Add build-id injection 'perf bench' benchmark. - Enter namespace when reading build-id in 'perf inject'. - Do not load map/dso when injecting build-id speeding up the 'perf inject' process. - Add --buildid-all option to avoid processing all samples, just the mmap metadata events. - Add feature test to check if libbfd has buildid support - Add 'perf test' entry for PE binary format support. - Fix typos in power8 PMU vendor events JSON files. - Hide libtraceevent non API functions. * tag 'perf-tools-for-v5.10-2020-10-15' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux: (113 commits) perf c2c: Update documentation for metrics reorganization perf c2c: Add metrics "RMT Load Hit" perf c2c: Correct LLC load hit metrics perf c2c: Change header for LLC local hit perf c2c: Use more explicit headers for HITM perf c2c: Change header from "LLC Load Hitm" to "Load Hitm" perf c2c: Organize metrics based on memory hierarchy perf c2c: Display "Total Stores" as a standalone metrics perf c2c: Display the total numbers continuously perf bench: Use condition variables in numa. perf jevents: Fix event code for events referencing std arch events perf diff: Support hot streams comparison perf streams: Report hot streams perf streams: Calculate the sum of total streams hits perf streams: Link stream pair perf streams: Compare two streams perf streams: Get the evsel_streams by evsel_idx perf streams: Introduce branch history "streams" perf intel-pt: Improve PT documentation slightly perf tools: Add support for exclusive groups/events ...
226 lines
4.7 KiB
C
226 lines
4.7 KiB
C
// SPDX-License-Identifier: GPL-2.0
|
|
/*
|
|
* test-all.c: Try to build all the main testcases at once.
|
|
*
|
|
* A well-configured system will have all the prereqs installed, so we can speed
|
|
* up auto-detection on such systems.
|
|
*/
|
|
|
|
/*
|
|
* Quirk: Python and Perl headers cannot be in arbitrary places, so keep
|
|
* these 3 testcases at the top:
|
|
*/
|
|
#define main main_test_libpython
|
|
# include "test-libpython.c"
|
|
#undef main
|
|
|
|
#define main main_test_libpython_version
|
|
# include "test-libpython-version.c"
|
|
#undef main
|
|
|
|
#define main main_test_libperl
|
|
# include "test-libperl.c"
|
|
#undef main
|
|
|
|
#define main main_test_hello
|
|
# include "test-hello.c"
|
|
#undef main
|
|
|
|
#define main main_test_libelf
|
|
# include "test-libelf.c"
|
|
#undef main
|
|
|
|
#define main main_test_get_current_dir_name
|
|
# include "test-get_current_dir_name.c"
|
|
#undef main
|
|
|
|
#define main main_test_gettid
|
|
# include "test-gettid.c"
|
|
#undef main
|
|
|
|
#define main main_test_glibc
|
|
# include "test-glibc.c"
|
|
#undef main
|
|
|
|
#define main main_test_dwarf
|
|
# include "test-dwarf.c"
|
|
#undef main
|
|
|
|
#define main main_test_dwarf_getlocations
|
|
# include "test-dwarf_getlocations.c"
|
|
#undef main
|
|
|
|
#define main main_test_eventfd
|
|
# include "test-eventfd.c"
|
|
#undef main
|
|
|
|
#define main main_test_libelf_getphdrnum
|
|
# include "test-libelf-getphdrnum.c"
|
|
#undef main
|
|
|
|
#define main main_test_libelf_gelf_getnote
|
|
# include "test-libelf-gelf_getnote.c"
|
|
#undef main
|
|
|
|
#define main main_test_libelf_getshdrstrndx
|
|
# include "test-libelf-getshdrstrndx.c"
|
|
#undef main
|
|
|
|
#define main main_test_libunwind
|
|
# include "test-libunwind.c"
|
|
#undef main
|
|
|
|
#define main main_test_libslang
|
|
# include "test-libslang.c"
|
|
#undef main
|
|
|
|
#define main main_test_libbfd
|
|
# include "test-libbfd.c"
|
|
#undef main
|
|
|
|
#define main main_test_libbfd_buildid
|
|
# include "test-libbfd-buildid.c"
|
|
#undef main
|
|
|
|
#define main main_test_backtrace
|
|
# include "test-backtrace.c"
|
|
#undef main
|
|
|
|
#define main main_test_libnuma
|
|
# include "test-libnuma.c"
|
|
#undef main
|
|
|
|
#define main main_test_numa_num_possible_cpus
|
|
# include "test-numa_num_possible_cpus.c"
|
|
#undef main
|
|
|
|
#define main main_test_timerfd
|
|
# include "test-timerfd.c"
|
|
#undef main
|
|
|
|
#define main main_test_stackprotector_all
|
|
# include "test-stackprotector-all.c"
|
|
#undef main
|
|
|
|
#define main main_test_libdw_dwarf_unwind
|
|
# include "test-libdw-dwarf-unwind.c"
|
|
#undef main
|
|
|
|
#define main main_test_sync_compare_and_swap
|
|
# include "test-sync-compare-and-swap.c"
|
|
#undef main
|
|
|
|
#define main main_test_zlib
|
|
# include "test-zlib.c"
|
|
#undef main
|
|
|
|
#define main main_test_pthread_attr_setaffinity_np
|
|
# include "test-pthread-attr-setaffinity-np.c"
|
|
#undef main
|
|
|
|
#define main main_test_pthread_barrier
|
|
# include "test-pthread-barrier.c"
|
|
#undef main
|
|
|
|
#define main main_test_sched_getcpu
|
|
# include "test-sched_getcpu.c"
|
|
#undef main
|
|
|
|
# if 0
|
|
/*
|
|
* Disable libbabeltrace check for test-all, because the requested
|
|
* library version is not released yet in most distributions. Will
|
|
* reenable later.
|
|
*/
|
|
|
|
#define main main_test_libbabeltrace
|
|
# include "test-libbabeltrace.c"
|
|
#undef main
|
|
#endif
|
|
|
|
#define main main_test_lzma
|
|
# include "test-lzma.c"
|
|
#undef main
|
|
|
|
#define main main_test_get_cpuid
|
|
# include "test-get_cpuid.c"
|
|
#undef main
|
|
|
|
#define main main_test_bpf
|
|
# include "test-bpf.c"
|
|
#undef main
|
|
|
|
#define main main_test_libcrypto
|
|
# include "test-libcrypto.c"
|
|
#undef main
|
|
|
|
#define main main_test_sdt
|
|
# include "test-sdt.c"
|
|
#undef main
|
|
|
|
#define main main_test_setns
|
|
# include "test-setns.c"
|
|
#undef main
|
|
|
|
#define main main_test_libaio
|
|
# include "test-libaio.c"
|
|
#undef main
|
|
|
|
#define main main_test_reallocarray
|
|
# include "test-reallocarray.c"
|
|
#undef main
|
|
|
|
#define main main_test_disassembler_four_args
|
|
# include "test-disassembler-four-args.c"
|
|
#undef main
|
|
|
|
#define main main_test_libzstd
|
|
# include "test-libzstd.c"
|
|
#undef main
|
|
|
|
int main(int argc, char *argv[])
|
|
{
|
|
main_test_libpython();
|
|
main_test_libpython_version();
|
|
main_test_libperl();
|
|
main_test_hello();
|
|
main_test_libelf();
|
|
main_test_libelf_mmap();
|
|
main_test_get_current_dir_name();
|
|
main_test_gettid();
|
|
main_test_glibc();
|
|
main_test_dwarf();
|
|
main_test_dwarf_getlocations();
|
|
main_test_eventfd();
|
|
main_test_libelf_getphdrnum();
|
|
main_test_libelf_gelf_getnote();
|
|
main_test_libelf_getshdrstrndx();
|
|
main_test_libunwind();
|
|
main_test_libslang();
|
|
main_test_libbfd();
|
|
main_test_libbfd_buildid();
|
|
main_test_backtrace();
|
|
main_test_libnuma();
|
|
main_test_numa_num_possible_cpus();
|
|
main_test_timerfd();
|
|
main_test_stackprotector_all();
|
|
main_test_libdw_dwarf_unwind();
|
|
main_test_sync_compare_and_swap(argc, argv);
|
|
main_test_zlib();
|
|
main_test_pthread_attr_setaffinity_np();
|
|
main_test_pthread_barrier();
|
|
main_test_lzma();
|
|
main_test_get_cpuid();
|
|
main_test_bpf();
|
|
main_test_libcrypto();
|
|
main_test_sched_getcpu();
|
|
main_test_sdt();
|
|
main_test_setns();
|
|
main_test_libaio();
|
|
main_test_reallocarray();
|
|
main_test_disassembler_four_args();
|
|
main_test_libzstd();
|
|
|
|
return 0;
|
|
}
|