Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758086Ab3JNUFm (ORCPT ); Mon, 14 Oct 2013 16:05:42 -0400 Received: from merlin.infradead.org ([205.233.59.134]:39146 "EHLO merlin.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757522Ab3JNUDN (ORCPT ); Mon, 14 Oct 2013 16:03:13 -0400 From: Arnaldo Carvalho de Melo To: Ingo Molnar Cc: linux-kernel@vger.kernel.org, Arnaldo Carvalho de Melo , Adrian Hunter , Andi Kleen , Aswin Chandramouleeswaran , Corey Ashford , David Ahern , Davidlohr Bueso , Frederic Weisbecker , Hitoshi Mitake , Jiri Olsa , Linus Torvalds , Mike Galbraith , Namhyung Kim , Paul Mackerras , Pekka Enberg , Peter Zijlstra , Ramkumar Ramachandra , Ricardo Ribalda Delgado , Roberto Agostino Vitillo , Stephane Eranian , Waiman Long , Willy Tarreau , Arnaldo Carvalho de Melo Subject: [GIT PULL 000/161] perf/core improvements and fixes Date: Mon, 14 Oct 2013 16:59:49 -0300 Message-Id: <1381780950-25642-1-git-send-email-acme@infradead.org> X-Mailer: git-send-email 1.8.1.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 Content-Length: 22468 Lines: 436 From: Arnaldo Carvalho de Melo Hi Ingo, This was 'make -C tools/perf -f tests/make' tested on Fedora 12 and 18, RHEL6.4 and Ubuntu 13.04. Please consider pulling, - Arnaldo The following changes since commit 429eb051011a580beae2dc9f8caed5dade9591dc: Merge branch 'perf/urgent' into tools/perf/build (2013-10-08 11:51:31 +0200) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux tags/perf-core-for-mingo for you to fetch changes up to 784f3390f9bd900adfb3b0373615e105a0d9749a: perf symbols: Fix a mmap and munmap mismatched bug (2013-10-14 12:21:23 -0300) ---------------------------------------------------------------- perf/core improvements and fixes . kcore annotation improvements, including build-id cache support, multi map 'call' instruction navigation fixes, kcore address validation, objdump workarounds. From Adrian Hunter. . 'trace' beautifiers for lots of syscall arguments. . More compact 'trace' output by suppressing zeroed args. . Show thread COMM by default in 'trace'. . Show path associated with fd in live sessions, using a 'vfs_getname' 'perf probe' created dynamic tracepoint or by looking at /proc/pid/fd. . Memory and mmap leak fixes from Chenggang Qin. . Add option to show full timestamp in 'trace', from David Ahern. . Add 'record' command in 'trace', to record raw_syscalls:*, from David Ahern. . Add summary option to dump syscall statistics in 'trace', from David Ahern. . Fix comm resolution in 'trace' when reading events from file, from David Ahern. . Improved messages when doing profiling in all or a subset of CPUs using a workload as the session delimitator, as in: 'perf stat --cpu 0,2 sleep 10s' . Add units to nanosec-based counters in 'perf stat', from David Ahern. . Assorted build fixes for from David Ahern and Jiri Olsa. . 'perf lock' fixes and cleanups, from Davidlohr Bueso. . Memory leak fixes in 'perf test', from Felipe Pena. . Build system super speedups, from Ingo Molnar. . Fix mmap_read event overflow, from Jiri Olsa. . Code cleanups from Jiri Olsa. . Allow specifying B/K/M/G unit to the --mmap-pages arguments, from Jiri Olsa. . Separate the GTK support in a separate libperf-gtk.so DSO, that is only loaded when --gtk is specified, from Namhyung Kim. . Fixes for some memory leaks, from Namhyumg Kim. . Fix srcline sort key behavior, from Namhyung Kim. . Fix failing assertions in numa bench, from Petr Holasek. . perf bash completion fixes and improvements from Ramkumar Ramachandra. . Improve error messages in 'trace', providing hints about system configuration steps needed for using it, from Ramkumar Ramachandra. . Remove bogus info when using 'perf stat' -e cycles/instructions, from Ramkumar Ramachandra . . Support for Openembedded/Yocto -dbg packages, from Ricardo Ribalda Delgado. . Implement addr2line directly using libbfd, from Roberto Vitillo. . Add new option --ignore-vmlinux for perf top, from Willy Tarreau. Signed-off-by: Arnaldo Carvalho de Melo ---------------------------------------------------------------- Adrian Hunter (10): perf machine: Use snprintf instead of sprintf perf symbols: Make a separate function to parse /proc/modules perf symbols: Validate kcore module addresses perf symbols: Workaround objdump difficulties with kcore perf annotate: Find kcore symbols on other maps perf tools: Add copyfile_mode() perf symbols: Add ability to find kcore in build-id cache perf annotate: Fix annotate_browser__callq() perf buildid-cache: Add ability to add kcore to the cache perf annotate: Another fix for annotate_browser__callq() Arnaldo Carvalho de Melo (27): perf trace: Put syscall formatter parms into struct perf trace: Allow passing parms to arg formatters perf trace: Use strarray for ltrace's whence arg perf trace: Beautify fcntl 'cmd' arg perf trace: Beautify rt_sigprocmask 'how' arg perf trace: Beautify signal number arg in several syscalls perf trace: Beautify socket 'family' arg perf trace: Beautify socket 'type' arg perf trace: Beautify access 'mode' arg perf trace: Beautify rlmimit resources perf trace: Don't print zeroed args perf trace: Beautify send/recv syscall 'flags' arg perf trace: Beautify eventfd2 'flags' arg perf trace: Add option to show process COMM perf trace: Beautify epoll_ctl 'op' arg perf trace: Beautify flock 'cmd' arg perf trace: Add helper for syscalls with a single strarray arg perf trace: Don't supress zeroed args when there is an strarray entry for it perf trace: Use socket's beautifiers in socketpair perf trace: Beautify pipe2 'flags' arg perf trace: Beautify mlock & friends 'addr' arg perf trace: Show path associated with fd in live sessions perf trace: Add 'trace' alias to 'perf trace' perf trace: Allow specifying index offset in strarrays perf trace: Prepare the strarray scnprintf method for reuse perf trace: Initial beautifier for ioctl's 'cmd' arg perf symbols: Add map_groups__find_ams() Chenggang Qin (2): perf symbols: Fix a memory leak due to symbol__delete not being used perf symbols: Fix a mmap and munmap mismatched bug David Ahern (15): perf trace: Add option to show full timestamp perf trace: Remove duplicate mmap entry in syscall_fmts array perf trace: Add beautifier for clock_gettime's clk_id argument perf trace: Handle MSG_WAITFORONE not defined perf stat: Fix misleading message when specifying cpu list or system wide perf stat: Don't require a workload when using system wide or CPU options perf stat: Add units to nanosec-based counters perf trace: Fix comm resolution when reading events from file perf trace: Add record option perf machine: Add method to loop over threads and invoke handler perf trace: Use new machine method to loop over threads perf intlist: Add priv member perf util: Add findnew method to intlist perf trace: Add summary option to dump syscall statistics perf tools: Fix old GCC build error in 'get_srcline' Davidlohr Bueso (6): perf lock: Remove dead code perf lock: Return proper code in report_lock_*_event perf lock: Plug some memleaks perf lock: Redo __cmd_report perf lock: Limit bad rate precision perf lock: Account for lock average wait time Felipe Pena (1): perf tests: Fix memory leak in dso-data.c Ingo Molnar (65): tools/perf: Standardize feature support define names to: HAVE_{FEATURE}_SUPPORT tools/perf/build: Add feature check core code tools/perf/build: Add 'autodep' functionality, generate feature test dependencies automatically tools/perf/build: Split out feature check: 'libnuma' tools/perf/build: Split out feature check: 'stackprotector-all' tools/perf/build: Split out feature check: 'stackprotector' tools/perf/build: Split out feature check: 'volatile-register-var' tools/perf/build: Split out feature check: 'fortify-source' tools/perf/build: Split out feature check: 'bionic' tools/perf/build: Clean up the libelf logic in config/Makefile tools/perf/build: Split out feature check: 'libelf' tools/perf/build: Split out feature check: 'glibc' tools/perf/build: Split out feature check: 'dwarf' tools/perf/build: Clean up the mmap logic in config/Makefile tools/perf/build: Split out feature check: 'libelf-mmap' tools/perf/build: Split out feature check: 'libelf-getphdrnum' tools/perf/build: Clean up the libunwind logic in config/Makefile tools/perf/build: Split out feature check: 'libunwind' tools/perf/build: Split out feature check: 'libaudit' tools/perf/build: Split out feature check: 'libslang' tools/perf/build: Split out feature check: 'gtk2' tools/perf/build: Split out feature check: 'gtk2-infobar' tools/perf/build: Split out feature check: 'libperl' tools/perf/build: Split out feature check: 'libpython' tools/perf/build: Split out feature check: 'libpython-version' tools/perf/build: Split out feature check: 'libbfd' tools/perf/build: Split out feature check: 'strlcpy' tools/perf/build: Split out feature check: 'on-exit' tools/perf/build: Split out feature check: 'backtrace' tools/perf: Clean up util/include/linux/compiler.h tools/perf: Turn strlcpy() into a __weak function tools/perf/build: Speed up auto-detection of features by adding a 'test-all' target tools/perf/build: Speed up git-version test on re-make tools/perf/build: Speed up the final link tools/perf: Fix double/triple-build of the feature detection logic during 'make install' et al tools/perf/build: Invoke feature-checks 'clean' target from the main Makefile tools/perf/build: Speed up auto-detection tools/perf/build: Improve printout-of auto-detected features tools/perf/build: Automatically build in parallel, based on number of CPUs in the system tools/perf/build: Flip Makefile.parallel and Makefile.perf tools/perf/build: Standardize the various messages output by parallel make tools/perf/build: Split out feature checks: 'liberty', 'liberty-z', 'cplus-demangle' tools/perf/build: Remove unused config/feature-tests.mak tools/perf/build: Clean up various testcases tools/perf/build: Collapse the test-all.c testcase tools/perf/build: Pass through all targets to Makefile.perf tools/perf/build: Make sure autodep feature binaries honor the O= setting tools/perf/build: Exclude MAKEFLAGS from nested invocation tools/perf/build: Fix non-canonical directory names in O= tools/perf/build: Fix O=/some/dir perf.o type of targets tools/perf/build: Harmonize the style of the feature testcases tools/perf/build: Pass through LDFLAGS to feature tests perf bench sched: Add --threaded option perf tools: Fix redirection printouts perf tools: Implement summary output for 'make clean' tools: Harmonize the various build messages in perf, lib-traceevent, lib-lk perf tools: Align perf version output to other build messages perf tools: Implement summary output for 'make install' tools/perf/build: Fix non-existent build directory handling tools/perf/build: Pass through DEBUG parameter tools/perf/build: Fix DPACKAGE definitions for the libbfd et al testcases tools/perf/build: Simplify the libelf logic tools/perf/build: Remove the volatile-register-var feature check tools/perf/build: Improve the 'stackprotector' feature test tools/perf/build: Simplify the autodep inclusion rule Jiri Olsa (11): tools/perf/build: Clean up feature_print_code() perf tools: Remove unused trace-event-* code perf tools: Unify page_size usage perf tools: Check mmap pages value early perf tools: Add possibility to specify mmap size perf evlist: Introduce perf_evlist__new_default function perf tools: Adding throttle event data struct support perf tools: Add missing -ldl for gtk build perf tools: Move start conditions to start of the flex file perf evlist: Fix perf_evlist__mmap_read event overflow perf tools: Separate lbfd check out of NO_DEMANGLE condition Namhyung Kim (9): perf tools: Separate out GTK codes to libperf-gtk.so perf sort: Fix a memory leak on srcline perf annotate: Reuse path from the result of addr2line perf hists: Free srcline when freeing hist_entry perf annotate: Factor out get/free_srcline() perf tools: Do not try to call addr2line on non-binary files perf annotate: Pass dso instead of dso_name to get_srcline() perf tools: Save failed result of get_srcline() perf tools: Fix srcline sort key behavior Petr Holasek (1): perf bench: Fix failing assertions in numa bench Ramkumar Ramachandra (11): perf completion: Don't dictate perf install location perf completion: Update __ltrim_colon_completions perf completion: Strip dependency on _filedir perf completion: Strip function_exists () perf completion: Strip dependency on bash-completion perf completion: Use more comp words perf stat: Don't print bogus data on -e cycles perf stat: Don't print bogus data on -e instructions perf tools: Ignore 'perf timechart' output file perf timechart: Add example in the documentation perf trace: Improve the error messages Ricardo Ribalda Delgado (1): perf symbols: Support for Openembedded/Yocto -dbg packages Roberto Vitillo (1): perf tools: Implement addr2line directly using libbfd Willy Tarreau (1): perf symbols: Add new option --ignore-vmlinux for perf top tools/lib/traceevent/Makefile | 18 +- tools/perf/.gitignore | 1 + tools/perf/Documentation/Makefile | 79 +- tools/perf/Documentation/perf-buildid-cache.txt | 13 + tools/perf/Documentation/perf-kvm.txt | 4 +- tools/perf/Documentation/perf-lock.txt | 2 +- tools/perf/Documentation/perf-record.txt | 4 +- tools/perf/Documentation/perf-timechart.txt | 15 +- tools/perf/Documentation/perf-top.txt | 4 +- tools/perf/Documentation/perf-trace.txt | 27 +- tools/perf/Makefile | 848 +-------------- tools/perf/Makefile.perf | 887 ++++++++++++++++ tools/perf/arch/x86/include/perf_regs.h | 6 +- tools/perf/arch/x86/util/unwind.c | 4 +- tools/perf/bash_completion | 106 +- tools/perf/bench/mem-memcpy-arch.h | 2 +- tools/perf/bench/mem-memcpy.c | 2 +- tools/perf/bench/mem-memset-arch.h | 2 +- tools/perf/bench/mem-memset.c | 2 +- tools/perf/bench/numa.c | 34 +- tools/perf/bench/sched-pipe.c | 115 +- tools/perf/builtin-annotate.c | 26 +- tools/perf/builtin-bench.c | 4 +- tools/perf/builtin-buildid-cache.c | 148 ++- tools/perf/builtin-inject.c | 2 +- tools/perf/builtin-kvm.c | 5 +- tools/perf/builtin-lock.c | 124 ++- tools/perf/builtin-probe.c | 14 +- tools/perf/builtin-record.c | 26 +- tools/perf/builtin-report.c | 16 +- tools/perf/builtin-stat.c | 29 +- tools/perf/builtin-top.c | 7 +- tools/perf/builtin-trace.c | 1108 +++++++++++++++++--- tools/perf/config/Makefile | 358 ++++--- tools/perf/config/feature-checks/Makefile | 144 +++ tools/perf/config/feature-checks/test-all.c | 106 ++ tools/perf/config/feature-checks/test-backtrace.c | 13 + tools/perf/config/feature-checks/test-bionic.c | 6 + .../config/feature-checks/test-cplus-demangle.c | 14 + tools/perf/config/feature-checks/test-dwarf.c | 10 + .../config/feature-checks/test-fortify-source.c | 6 + tools/perf/config/feature-checks/test-glibc.c | 8 + .../perf/config/feature-checks/test-gtk2-infobar.c | 11 + tools/perf/config/feature-checks/test-gtk2.c | 10 + tools/perf/config/feature-checks/test-hello.c | 6 + tools/perf/config/feature-checks/test-libaudit.c | 10 + tools/perf/config/feature-checks/test-libbfd.c | 15 + .../config/feature-checks/test-libelf-getphdrnum.c | 8 + .../perf/config/feature-checks/test-libelf-mmap.c | 8 + tools/perf/config/feature-checks/test-libelf.c | 8 + tools/perf/config/feature-checks/test-libnuma.c | 9 + tools/perf/config/feature-checks/test-libperl.c | 9 + .../config/feature-checks/test-libpython-version.c | 10 + tools/perf/config/feature-checks/test-libpython.c | 8 + tools/perf/config/feature-checks/test-libslang.c | 6 + tools/perf/config/feature-checks/test-libunwind.c | 27 + tools/perf/config/feature-checks/test-on-exit.c | 15 + .../feature-checks/test-stackprotector-all.c | 6 + .../config/feature-checks/test-stackprotector.c | 6 + .../feature-checks/test-volatile-register-var.c | 6 + tools/perf/config/feature-tests.mak | 246 ----- tools/perf/config/utilities.mak | 17 +- tools/perf/perf.c | 14 +- tools/perf/tests/dso-data.c | 1 + tools/perf/tests/perf-record.c | 12 +- tools/perf/tests/task-exit.c | 14 +- tools/perf/ui/browsers/annotate.c | 24 +- tools/perf/ui/gtk/annotate.c | 13 +- tools/perf/ui/gtk/browser.c | 2 +- tools/perf/ui/gtk/gtk.h | 20 +- tools/perf/ui/gtk/util.c | 4 +- tools/perf/ui/setup.c | 61 +- tools/perf/ui/ui.h | 14 +- tools/perf/util/PERF-VERSION-GEN | 2 +- tools/perf/util/annotate.c | 76 +- tools/perf/util/annotate.h | 26 +- tools/perf/util/cache.h | 3 +- tools/perf/util/dso.c | 50 +- tools/perf/util/dso.h | 3 + tools/perf/util/event.h | 10 + tools/perf/util/evlist.c | 82 +- tools/perf/util/evlist.h | 9 +- tools/perf/util/evsel.c | 3 + tools/perf/util/generate-cmdlist.sh | 4 +- tools/perf/util/hist.c | 1 + tools/perf/util/hist.h | 17 +- tools/perf/util/include/dwarf-regs.h | 2 +- tools/perf/util/include/linux/compiler.h | 19 +- tools/perf/util/intlist.c | 23 +- tools/perf/util/intlist.h | 2 + tools/perf/util/machine.c | 113 +- tools/perf/util/machine.h | 5 + tools/perf/util/map.c | 50 +- tools/perf/util/map.h | 7 + tools/perf/util/parse-events.l | 63 +- tools/perf/util/path.c | 10 +- tools/perf/util/perf_regs.h | 4 +- tools/perf/util/probe-event.c | 4 +- tools/perf/util/probe-finder.h | 4 +- tools/perf/util/python.c | 8 +- tools/perf/util/rblist.c | 27 +- tools/perf/util/rblist.h | 1 + tools/perf/util/session.c | 13 + tools/perf/util/sort.c | 58 +- tools/perf/util/srcline.c | 265 +++++ tools/perf/util/symbol-elf.c | 607 ++++++++++- tools/perf/util/symbol-minimal.c | 15 + tools/perf/util/symbol.c | 449 ++++++-- tools/perf/util/symbol.h | 29 +- tools/perf/util/trace-event-parse.c | 36 - tools/perf/util/trace-event.h | 9 - tools/perf/util/unwind.h | 4 +- tools/perf/util/util.c | 47 +- tools/perf/util/util.h | 24 + tools/scripts/Makefile.include | 23 +- 115 files changed, 5144 insertions(+), 2032 deletions(-) create mode 100644 tools/perf/Makefile.perf create mode 100644 tools/perf/config/feature-checks/Makefile create mode 100644 tools/perf/config/feature-checks/test-all.c create mode 100644 tools/perf/config/feature-checks/test-backtrace.c create mode 100644 tools/perf/config/feature-checks/test-bionic.c create mode 100644 tools/perf/config/feature-checks/test-cplus-demangle.c create mode 100644 tools/perf/config/feature-checks/test-dwarf.c create mode 100644 tools/perf/config/feature-checks/test-fortify-source.c create mode 100644 tools/perf/config/feature-checks/test-glibc.c create mode 100644 tools/perf/config/feature-checks/test-gtk2-infobar.c create mode 100644 tools/perf/config/feature-checks/test-gtk2.c create mode 100644 tools/perf/config/feature-checks/test-hello.c create mode 100644 tools/perf/config/feature-checks/test-libaudit.c create mode 100644 tools/perf/config/feature-checks/test-libbfd.c create mode 100644 tools/perf/config/feature-checks/test-libelf-getphdrnum.c create mode 100644 tools/perf/config/feature-checks/test-libelf-mmap.c create mode 100644 tools/perf/config/feature-checks/test-libelf.c create mode 100644 tools/perf/config/feature-checks/test-libnuma.c create mode 100644 tools/perf/config/feature-checks/test-libperl.c create mode 100644 tools/perf/config/feature-checks/test-libpython-version.c create mode 100644 tools/perf/config/feature-checks/test-libpython.c create mode 100644 tools/perf/config/feature-checks/test-libslang.c create mode 100644 tools/perf/config/feature-checks/test-libunwind.c create mode 100644 tools/perf/config/feature-checks/test-on-exit.c create mode 100644 tools/perf/config/feature-checks/test-stackprotector-all.c create mode 100644 tools/perf/config/feature-checks/test-stackprotector.c create mode 100644 tools/perf/config/feature-checks/test-volatile-register-var.c delete mode 100644 tools/perf/config/feature-tests.mak create mode 100644 tools/perf/util/srcline.c -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/