Messages in this thread | | | Date | Fri, 14 Apr 2017 13:07:27 -0300 | From | Arnaldo Carvalho de Melo <> | Subject | Re: [GIT PULL 0/7] perf/core improvements and fixes |
| |
Em Thu, Apr 13, 2017 at 04:35:29PM -0300, Arnaldo Carvalho de Melo escreveu: > Hi Ingo, > > Please consider pulling, > > - Arnaldo > > Test results at the end of this message, as usual.
Ooops, here is the missing output from 'git-request-pull':
The following changes since commit a8d11cd0714f51877587f5ec891013ca46e163ac:
kprobes/x86: Consolidate insn decoder users for copying code (2017-04-12 09:23:47 +0200)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-core-for-mingo-4.12-20170413
for you to fetch changes up to 16eb81365b70266c17d1141ef9b32c3110b22d17:
Revert "perf tools: Fix include of linux/mman.h" (2017-04-13 11:54:46 -0300)
---------------------------------------------------------------- perf/core improvements and fixes:
User visible:
- Fix bug 'perf stat' in handling events in error state (Stephane Eranian)
Documentation:
- Add usage of --no-syscalls in 'perf trace' man page (Ravi Bangoria)
Infrastructure:
- Pass PYTHON config to feature detection (David Carrillo-Cisneros)
- Disable JVMTI if no ELF support available (David Carrillo-Cisneros)
- Fix feature detection redefinion of build flags (David Carrillo-Cisneros)
- Hint missing file when tool tips fail to load (David Carrillo-Cisneros)
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---------------------------------------------------------------- David Carrillo-Cisneros (5): perf tools: Pass PYTHON config to feature detection perf tools: Disable JVMTI if no ELF support available tools build: Fix feature detection redefinion of build flags perf util: Hint missing file when tool tips fail to load Revert "perf tools: Fix include of linux/mman.h"
Ravi Bangoria (1): perf trace: Add usage of --no-syscalls in man page
Stephane Eranian (1): perf stat: Fix bug in handling events in error state
tools/build/feature/Makefile | 12 +++++------ tools/perf/Documentation/perf-trace.txt | 3 ++- tools/perf/Makefile.config | 35 ++++++++++++++------------------- tools/perf/builtin-stat.c | 12 ++++++++--- tools/perf/util/event.c | 2 +- tools/perf/util/evsel.c | 4 ++-- tools/perf/util/util.c | 3 ++- 7 files changed, 37 insertions(+), 34 deletions(-) > Test results: > > The first ones are container (docker) based builds of tools/perf with and > without libelf support, objtool where it is supported and samples/bpf/, ditto. > Where clang is available, it is also used to build perf with/without libelf. > > For this specific pull request the samples/bpf/ was disabled, as 'make headers_install' > is failing with the following error, in this case in fedora:rawhide: > > INSTALL usr/include/uapi/ (0 file) > /git/linux/scripts/Makefile.headersinst:62: *** Missing generated UAPI file ./arch/x86/include/generated/uapi/asm/unistd_32.h. Stop. > make[1]: *** [/git/linux/Makefile:1151: headers_install] Error 2 > make[1]: Leaving directory '/tmp/build/linux' > make: *** [Makefile:152: sub-make] Error 2 > make: Leaving directory '/git/linux' > > I'll investigate later, perf and objtool builds just fine, with clang and gcc. > > 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. It is planned to have it run on each > of the containers mentioned above, using some container orchestration > infrastructure. Get in contact if interested in helping having this in place. > > # dm > 1 alpine:3.4: Ok > 2 alpine:3.5: Ok > 3 alpine:edge: Ok > 4 android-ndk:r12b-arm: Ok > 5 archlinux:latest: Ok > 6 centos:5: Ok > 7 centos:6: Ok > 8 centos:7: Ok > 9 debian:7: Ok > 10 debian:8: Ok > 11 debian:9: Ok > 12 debian:experimental: Ok > 13 debian:experimental-x-arm64: Ok > 14 debian:experimental-x-mips: Ok > 15 debian:experimental-x-mips64: Ok > 16 debian:experimental-x-mipsel: Ok > 17 fedora:20: Ok > 18 fedora:21: Ok > 19 fedora:22: Ok > 20 fedora:23: Ok > 21 fedora:24: Ok > 22 fedora:24-x-ARC-uClibc: Ok > 23 fedora:25: Ok > 24 fedora:rawhide: Ok > 25 mageia:5: Ok > 26 opensuse:13.2: Ok > 27 opensuse:42.1: Ok > 28 opensuse:tumbleweed: Ok > 29 ubuntu:12.04.5: Ok > 30 ubuntu:14.04.4: Ok > 31 ubuntu:14.04.4-x-linaro-arm64: Ok > 32 ubuntu:15.10: Ok > 33 ubuntu:16.04: Ok > 34 ubuntu:16.04-x-arm: Ok > 35 ubuntu:16.04-x-arm64: Ok > 36 ubuntu:16.04-x-powerpc: Ok > 37 ubuntu:16.04-x-powerpc64: Ok > 38 ubuntu:16.04-x-s390: Ok > 39 ubuntu:16.10: Ok > 40 ubuntu:17.04: Ok > # > > # uname -a > Linux jouet 4.11.0-rc6+ #7 SMP Tue Apr 11 11:53:14 -03 2017 x86_64 x86_64 x86_64 GNU/Linux > # 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: Parse event definition strings : Ok > 6: Simple expression parser : Ok > 7: PERF_RECORD_* events & perf_sample fields : Ok > 8: Parse perf pmu format : Ok > 9: DSO data read : Ok > 10: DSO data cache : Ok > 11: DSO data reopen : Ok > 12: Roundtrip evsel->name : Ok > 13: Parse sched tracepoints fields : Ok > 14: syscalls:sys_enter_openat event fields : Ok > 15: Setup struct perf_event_attr : Ok > 16: Match and link multiple hists : Ok > 17: 'import perf' in python : Ok > 18: Breakpoint overflow signal handler : Ok > 19: Breakpoint overflow sampling : Ok > 20: Number of exit events of a simple workload : Ok > 21: Software clock events period values : Ok > 22: Object code reading : Ok > 23: Sample parsing : Ok > 24: Use a dummy software event to keep tracking: Ok > 25: Parse with no sample_id_all bit set : Ok > 26: Filter hist entries : Ok > 27: Lookup mmap thread : Ok > 28: Share thread mg : Ok > 29: Sort output of hist entries : Ok > 30: Cumulate child hist entries : Ok > 31: Track with sched_switch : Ok > 32: Filter fds with revents mask in a fdarray : Ok > 33: Add fd to a fdarray, making it autogrow : Ok > 34: kmod_path__parse : Ok > 35: Thread map : Ok > 36: LLVM search and compile : > 36.1: Basic BPF llvm compile : Ok > 36.2: kbuild searching : Ok > 36.3: Compile source for BPF prologue generation: Ok > 36.4: Compile source for BPF relocation : Ok > 37: Session topology : Ok > 38: BPF filter : > 38.1: Basic BPF filtering : Ok > 38.2: BPF pinning : Ok > 38.3: BPF prologue generation : Ok > 38.4: BPF relocation checker : Ok > 39: Synthesize thread map : Ok > 40: Remove thread map : Ok > 41: Synthesize cpu map : Ok > 42: Synthesize stat config : Ok > 43: Synthesize stat : Ok > 44: Synthesize stat round : Ok > 45: Synthesize attr update : Ok > 46: Event times : Ok > 47: Read backward ring buffer : Ok > 48: Print cpu map : Ok > 49: Probe SDT events : Ok > 50: is_printable_array : Ok > 51: Print bitmap : Ok > 52: perf hooks : Ok > 53: builtin clang support : Skip (not compiled in) > 54: unit_number__scnprintf : Ok > 55: x86 rdpmc : Ok > 56: Convert perf time to TSC : Ok > 57: DWARF unwind : Ok > 58: x86 instruction decoder - new instructions : Ok > 59: Intel cqm nmi context read : Skip > # > > $ perf stat make -C tools/perf build-test > make: Entering directory '/home/acme/git/linux/tools/perf' > - tarpkg: ./tests/perf-targz-src-pkg . > make_no_ui_O: make NO_NEWT=1 NO_SLANG=1 NO_GTK2=1 > make_no_libdw_dwarf_unwind_O: make NO_LIBDW_DWARF_UNWIND=1 > make_with_clangllvm_O: make LIBCLANGLLVM=1 > make_install_bin_O: make install-bin > make_util_map_o_O: make util/map.o > make_no_slang_O: make NO_SLANG=1 > make_no_libbpf_O: make NO_LIBBPF=1 > make_debug_O: make DEBUG=1 > make_no_newt_O: make NO_NEWT=1 > make_clean_all_O: make clean all > make_no_backtrace_O: make NO_BACKTRACE=1 > make_no_demangle_O: make NO_DEMANGLE=1 > make_pure_O: make > make_install_prefix_O: make install prefix=/tmp/krava > make_no_auxtrace_O: make NO_AUXTRACE=1 > make_no_libperl_O: make NO_LIBPERL=1 > make_doc_O: make doc > make_with_babeltrace_O: make LIBBABELTRACE=1 > make_static_O: make LDFLAGS=-static > make_no_libelf_O: make NO_LIBELF=1 > make_no_libnuma_O: make NO_LIBNUMA=1 > make_util_pmu_bison_o_O: make util/pmu-bison.o > make_no_libunwind_O: make NO_LIBUNWIND=1 > make_no_scripts_O: make NO_LIBPYTHON=1 NO_LIBPERL=1 > make_tags_O: make tags > make_help_O: make help > make_install_O: make install > make_no_libpython_O: make NO_LIBPYTHON=1 > make_no_libbionic_O: make NO_LIBBIONIC=1 > make_install_prefix_slash_O: make install prefix=/tmp/krava/ > make_no_libaudit_O: make NO_LIBAUDIT=1 > make_no_gtk2_O: make NO_GTK2=1 > 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 > make_perf_o_O: make perf.o > OK > make: Leaving directory '/home/acme/git/linux/tools/perf' > $
| |