From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754724AbcITVeY (ORCPT ); Tue, 20 Sep 2016 17:34:24 -0400 Received: from mail-wm0-f67.google.com ([74.125.82.67]:35895 "EHLO mail-wm0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752344AbcITVeW (ORCPT ); Tue, 20 Sep 2016 17:34:22 -0400 Date: Tue, 20 Sep 2016 23:34:15 +0200 From: Ingo Molnar To: Arnaldo Carvalho de Melo Cc: linux-kernel@vger.kernel.org, Adrian Hunter , Alexander Shishkin , Andi Kleen , Chris Riyder , David Ahern , Don Zickus , Hemant Kumar , Jiri Olsa , Joe Mario , Kim Phillips , Markus Trippelsdorf , Masami Hiramatsu , Mathieu Poirier , Michael Ellerman , Milian Wolff , Namhyung Kim , "Naveen N . Rao" , Pawel Moll , Peter Zijlstra , pi3orama@163.com, Ravi Bangoria , Russell King , Taeung Song , Wang Nan , Zefan Li , Arnaldo Carvalho de Melo Subject: Re: [GIT PULL 00/22] perf/core improvements and fixes Message-ID: <20160920213415.GA16981@gmail.com> References: <1474401822-18902-1-git-send-email-acme@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1474401822-18902-1-git-send-email-acme@kernel.org> User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org * Arnaldo Carvalho de Melo wrote: > Hi Ingo, > > Please consider pulling, > > - Arnaldo > > The following changes since commit cd34cd97b7b4336aa2c623c37daffab264c7c6ce: > > perf/x86/intel/uncore: Add Skylake server uncore support (2016-09-10 11:18:52 +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-20160920 > > for you to fetch changes up to 3c028a0cb5b71f47d523bc8ad2c597cb257f41fb: > > perf symbols: Do not open device files (2016-09-20 16:20:21 -0300) > > ---------------------------------------------------------------- > perf/core improvements and fixes: > > User visible: > > - Support event group view with hierarchy mode in 'perf top' and 'perf report' > (Namhyung Kim) > > e.g.: > > $ perf record -e '{cycles,instructions}' make > $ perf report --hierarchy --stdio > ... > # Overhead Command / Shared Object / Symbol > # ...................... .................................. > ... > 25.74% 27.18% sh > 19.96% 24.14% libc-2.24.so > 9.55% 14.64% [.] __strcmp_sse2 > 1.54% 0.00% [.] __tfind > 1.07% 1.13% [.] _int_malloc > 0.95% 0.00% [.] __strchr_sse2 > 0.89% 1.39% [.] __tsearch > 0.76% 0.00% [.] strlen > > - Fix the dwarf regs table for x86_64, adding a missing % to the "%di" > register, noticed with a failing 'perf test bpf' (Arnaldo Carvalho de Melo) > > - Fix handling of mmap parameters in the 'perf trace' beautifier in > architectures that don't have the same mappings as x86_64 (Wang Nan) > > - Handle hugetbl mappings in older systems running new kernels (Wang Nan) > > - Resolve 'call' operands in 'annotate', that when using /proc/kcore > were appearing just as hexadecimal addresses, to function names > (Arnaldo Carvalho de Melo) > > - Fix width computation for srcline sort entry (Jiri Olsa) > > - Do not ignore call instruction with indirect target in 'annotate' > (Ravi Bangoria) > > - Handle MADV_FREE in the madvise 'trace' beautifier (Wang Nan) > > - Fix build of 'perf trace' mman beautifier in !x86_64 (Wang Nan) > > Infrastructure: > > - Add infrastructure for PMU specific configuration, allowing to pass > config variables directly to the kernel PMU driver, prefixing those > variables with a '@', part of a larger series to support Coresight (Mathieu Poirier) > > Signed-off-by: Arnaldo Carvalho de Melo > > Build stats at the end of this message. > > ---------------------------------------------------------------- > Arnaldo Carvalho de Melo (5): > perf probe: Fix dwarf regs table for x86_64 > perf trace beauty mmap: Fix defines for non !x86_64 > perf tools: Do hugetlb handling in more systems > perf annotate: Pass the symbol's map/dso to the instruction parsers > perf annotate: Resolve 'call' operands to function names > > Jiri Olsa (2): > perf hists: Fix width computation for srcline sort entry > perf symbols: Do not open device files > > Mathieu Poirier (1): > perf tools: Add infrastructure for PMU specific configuration > > Namhyung Kim (9): > perf hists browser: Fix event group display > perf hists: Introduce hists__match_hierarchy() > perf hists: Introduce hists__link_hierarchy() > perf hist: Initialize hierarchy tree explicitly > perf ui/stdio: Always reset output width for hierarchy > perf ui/stdio: Rename print_hierarchy_header() > perf report: Enable group view with hierarchy > perf ui/tui: Reset output width for hierarchy > perf hists: Factor out hists__reset_column_width() > > Ravi Bangoria (1): > perf annotate: Do not ignore call instruction with indirect target > > Wang Nan (4): > tools include: Add uapi mman.h for each architecture > perf build: Compare mman.h related headers against kernel originals > perf trace beauty mmap: Add missing MADV_FREE > tools include: Add mman macros needed by perf for all arch > > tools/arch/alpha/include/uapi/asm/mman.h | 47 ++++++++ > tools/arch/arc/include/uapi/asm/mman.h | 6 + > tools/arch/arm/include/uapi/asm/mman.h | 6 + > tools/arch/arm64/include/uapi/asm/mman.h | 6 + > tools/arch/frv/include/uapi/asm/mman.h | 6 + > tools/arch/h8300/include/uapi/asm/mman.h | 6 + > tools/arch/hexagon/include/uapi/asm/mman.h | 6 + > tools/arch/ia64/include/uapi/asm/mman.h | 6 + > tools/arch/m32r/include/uapi/asm/mman.h | 6 + > tools/arch/microblaze/include/uapi/asm/mman.h | 6 + > tools/arch/mips/include/uapi/asm/mman.h | 46 ++++++++ > tools/arch/mn10300/include/uapi/asm/mman.h | 6 + > tools/arch/parisc/include/uapi/asm/mman.h | 47 ++++++++ > tools/arch/powerpc/include/uapi/asm/mman.h | 15 +++ > tools/arch/s390/include/uapi/asm/mman.h | 6 + > tools/arch/score/include/uapi/asm/mman.h | 6 + > tools/arch/sh/include/uapi/asm/mman.h | 6 + > tools/arch/sparc/include/uapi/asm/mman.h | 15 +++ > tools/arch/tile/include/uapi/asm/mman.h | 15 +++ > tools/arch/x86/include/uapi/asm/mman.h | 5 + > tools/arch/xtensa/include/uapi/asm/mman.h | 47 ++++++++ > tools/include/uapi/asm-generic/mman-common.h | 75 ++++++++++++ > tools/include/uapi/asm-generic/mman.h | 22 ++++ > tools/include/uapi/linux/mman.h | 13 +++ > tools/perf/Documentation/perf-record.txt | 12 ++ > tools/perf/MANIFEST | 4 + > tools/perf/Makefile.perf | 9 ++ > tools/perf/arch/x86/include/dwarf-regs-table.h | 2 +- > tools/perf/builtin-report.c | 1 - > tools/perf/trace/beauty/mmap.c | 72 +----------- > tools/perf/ui/browsers/hists.c | 7 +- > tools/perf/ui/hist.c | 15 +++ > tools/perf/ui/stdio/hist.c | 25 +--- > tools/perf/util/annotate.c | 37 +++--- > tools/perf/util/annotate.h | 2 +- > tools/perf/util/dso.c | 3 + > tools/perf/util/event.c | 7 +- > tools/perf/util/evsel.h | 2 + > tools/perf/util/hist.c | 154 ++++++++++++++++++++++++- > tools/perf/util/hist.h | 1 + > tools/perf/util/map.c | 9 +- > tools/perf/util/parse-events.c | 7 +- > tools/perf/util/parse-events.h | 1 + > tools/perf/util/parse-events.l | 22 ++++ > tools/perf/util/parse-events.y | 11 ++ > tools/perf/util/sort.h | 1 + > 46 files changed, 698 insertions(+), 131 deletions(-) > create mode 100644 tools/arch/alpha/include/uapi/asm/mman.h > create mode 100644 tools/arch/arc/include/uapi/asm/mman.h > create mode 100644 tools/arch/arm/include/uapi/asm/mman.h > create mode 100644 tools/arch/arm64/include/uapi/asm/mman.h > create mode 100644 tools/arch/frv/include/uapi/asm/mman.h > create mode 100644 tools/arch/h8300/include/uapi/asm/mman.h > create mode 100644 tools/arch/hexagon/include/uapi/asm/mman.h > create mode 100644 tools/arch/ia64/include/uapi/asm/mman.h > create mode 100644 tools/arch/m32r/include/uapi/asm/mman.h > create mode 100644 tools/arch/microblaze/include/uapi/asm/mman.h > create mode 100644 tools/arch/mips/include/uapi/asm/mman.h > create mode 100644 tools/arch/mn10300/include/uapi/asm/mman.h > create mode 100644 tools/arch/parisc/include/uapi/asm/mman.h > create mode 100644 tools/arch/powerpc/include/uapi/asm/mman.h > create mode 100644 tools/arch/s390/include/uapi/asm/mman.h > create mode 100644 tools/arch/score/include/uapi/asm/mman.h > create mode 100644 tools/arch/sh/include/uapi/asm/mman.h > create mode 100644 tools/arch/sparc/include/uapi/asm/mman.h > create mode 100644 tools/arch/tile/include/uapi/asm/mman.h > create mode 100644 tools/arch/x86/include/uapi/asm/mman.h > create mode 100644 tools/arch/xtensa/include/uapi/asm/mman.h > create mode 100644 tools/include/uapi/asm-generic/mman-common.h > create mode 100644 tools/include/uapi/asm-generic/mman.h > create mode 100644 tools/include/uapi/linux/mman.h > > [root@jouet ~]# 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 events tests : Ok > 6: Validate PERF_RECORD_* events & perf_sample fields : Ok > 7: Test perf pmu format parsing : Ok > 8: Test dso data read : Ok > 9: Test dso data cache : Ok > 10: Test dso data reopen : Ok > 11: roundtrip evsel->name check : Ok > 12: Check parsing of sched tracepoints fields : Ok > 13: Generate and check syscalls:sys_enter_openat event fields: Ok > 14: struct perf_event_attr setup : Ok > 15: Test matching and linking multiple hists : Ok > 16: Try 'import perf' in python, checking link problems : Ok > 17: Test breakpoint overflow signal handler : Ok > 18: Test breakpoint overflow sampling : Ok > 19: Test number of exit event of a simple workload : Ok > 20: Test software clock events have valid period values : Ok > 21: Test object code reading : Ok > 22: Test sample parsing : Ok > 23: Test using a dummy software event to keep tracking : Ok > 24: Test parsing with no sample_id_all bit set : Ok > 25: Test filtering hist entries : Ok > 26: Test mmap thread lookup : Ok > 27: Test thread mg sharing : Ok > 28: Test output sorting of hist entries : Ok > 29: Test cumulation of child hist entries : Ok > 30: Test tracking with sched_switch : Ok > 31: Filter fds with revents mask in a fdarray : Ok > 32: Add fd to a fdarray, making it autogrow : Ok > 33: Test kmod_path__parse function : Ok > 34: Test thread map : Ok > 35: Test LLVM searching and compiling : > 35.1: Basic BPF llvm compiling test : Ok > 35.2: Test kbuild searching : Ok > 35.3: Compile source for BPF prologue generation test : Ok > 35.4: Compile source for BPF relocation test : Ok > 36: Test topology in session : Ok > 37: Test BPF filter : > 37.1: Test basic BPF filtering : Ok > 37.2: Test BPF prologue generation : Ok > 37.3: Test BPF relocation checker : Ok > 38: Test thread map synthesize : Ok > 39: Test cpu map synthesize : Ok > 40: Test stat config synthesize : Ok > 41: Test stat synthesize : Ok > 42: Test stat round synthesize : Ok > 43: Test attr update synthesize : Ok > 44: Test events times : Ok > 45: Test backward reading from ring buffer : Ok > 46: Test cpu map print : Ok > 47: Test SDT event probing : Ok > 48: Test is_printable_array function : Ok > 49: Test bitmap print : Ok > 50: x86 rdpmc test : Ok > 51: Test converting perf time to TSC : Ok > 52: Test dwarf unwind : Ok > 53: Test x86 instruction decoder - new instructions : Ok > 54: Test intel cqm nmi context read : Skip > [root@jouet ~]# > > Build stats: > > # time dm > 1 74.534 alpine:3.4: Ok > 2 25.636 android-ndk:r12b-arm: Ok > 3 78.066 archlinux:latest: Ok > 4 41.189 centos:5: Ok > 5 64.550 centos:6: Ok > 6 74.689 centos:7: Ok > 7 68.580 debian:7: Ok > 8 75.115 debian:8: Ok > 9 75.288 fedora:20: Ok > 10 79.294 fedora:21: Ok > 11 76.839 fedora:22: Ok > 12 76.695 fedora:23: Ok > 13 82.058 fedora:24: Ok > 14 31.649 fedora:24-x-ARC-uClibc: Ok > 15 85.826 fedora:rawhide: Ok > 16 83.272 mageia:5: Ok > 17 76.883 opensuse:13.2: Ok > 18 78.530 opensuse:42.1: Ok > 19 85.315 opensuse:tumbleweed: Ok > 20 63.436 ubuntu:12.04.5: Ok > 21 40.909 ubuntu:14.04: Ok > 22 72.689 ubuntu:14.04.4: Ok > 23 76.374 ubuntu:15.10: Ok > 24 70.309 ubuntu:16.04: Ok > 25 59.159 ubuntu:16.04-x-arm: Ok > 26 56.011 ubuntu:16.04-x-arm64: Ok > 27 56.913 ubuntu:16.04-x-powerpc64: Ok > 28 57.442 ubuntu:16.04-x-powerpc64el: Ok > 29 80.282 ubuntu:16.10: Ok > 30 60.964 ubuntu:16.10-x-arm64: Ok > 31 61.390 ubuntu:16.10-x-powerpc: Ok > 32 63.167 ubuntu:16.10-x-s390: Ok > > real 35m54.027s > user 0m2.855s > sys 0m2.652s Pulled, thanks a lot Arnaldo! Ingo