From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752961AbcITUFE (ORCPT ); Tue, 20 Sep 2016 16:05:04 -0400 Received: from merlin.infradead.org ([205.233.59.134]:39142 "EHLO merlin.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754453AbcITUFA (ORCPT ); Tue, 20 Sep 2016 16:05:00 -0400 From: Arnaldo Carvalho de Melo To: Ingo Molnar Cc: linux-kernel@vger.kernel.org, Arnaldo Carvalho de Melo , 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: [GIT PULL 00/22] perf/core improvements and fixes Date: Tue, 20 Sep 2016 17:03:20 -0300 Message-Id: <1474401822-18902-1-git-send-email-acme@kernel.org> X-Mailer: git-send-email 2.7.4 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-SRS-Rewrite: SMTP reverse-path rewritten from by merlin.infradead.org. See http://www.infradead.org/rpr.html Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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