From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752461AbcDOVvr (ORCPT ); Fri, 15 Apr 2016 17:51:47 -0400 Received: from bombadil.infradead.org ([198.137.202.9]:60714 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752255AbcDOVvp (ORCPT ); Fri, 15 Apr 2016 17:51:45 -0400 From: Arnaldo Carvalho de Melo To: Ingo Molnar Cc: linux-kernel@vger.kernel.org, Arnaldo Carvalho de Melo , Adrian Hunter , David Ahern , Frederic Weisbecker , Jiri Olsa , Milian Wolff , Namhyung Kim , Wang Nan , Arnaldo Carvalho de Melo Subject: [GIT PULL 00/15] perf/core improvements Date: Fri, 15 Apr 2016 18:50:46 -0300 Message-Id: <1460757061-3283-1-git-send-email-acme@kernel.org> X-Mailer: git-send-email 2.5.5 X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.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 0b22cd276cec21107d9d69453fa58abba73e71df: Merge tag 'perf-core-for-mingo-20160414' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core (2016-04-14 15:30:59 +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-20160415 for you to fetch changes up to f3e459d16a8493b617ccf2a940330279679e0291: perf trace: Bump --mmap-pages when --call-graph is used by the root user (2016-04-15 17:52:34 -0300) ---------------------------------------------------------------- perf/core improvements: User visible: - Wire the callchain unwinding "max-stack" know to 'perf script --max-stack', allowing to limit the depth of callchains, possibly reducing processing time (Arnaldo Carvalho de Melo) - Ditto for 'perf trace --max-stack' (Arnaldo Carvalho de Melo) - Introduce a --min-stack filter for 'perf trace', to show syscalls that had a userspace callchain leading to it at least min-stack deep (Arnaldo Carvalho de Melo) - Make 'perf trace' work with multiple threads and the --duration filter, i.e. do not print the start of an interrupted syscall followed by ... to print interrupts from other threads, as we need to wait the sys_exit syscall tracepoint to calculate the duration, duh. (Arnaldo Carvalho de Melo) System wide --duration now works as expected: [root@jouet ~]# trace --duration 100 152.393 (145.147 ms): Timer/24358 futex(uaddr: 0x7f5ed98e56cc, op: WAIT_BITSET|PRIV|CLKRT, val: 7055125, utime: 0x7f5ecdbfec30, val3: 4294967295) = -1 ETIMEDOUT Connection timed out 152.438 (145.040 ms): firefox/24321 poll(ufds: 0x7f5ec388b460, nfds: 6, timeout_msecs: 4294967295) = 1 358.580 (158.279 ms): Xorg/2025 select(n: 512, inp: 0x83a8e0, tvp: 0x7ffdcbb63610) = 0 Timeout 358.687 (148.285 ms): gnome-terminal/2711 poll(ufds: 0x55b7e6811ad0, nfds: 15, timeout_msecs: 249) = 1 370.150 (169.569 ms): gnome-shell/2287 poll(ufds: 0x55e623d65490, nfds: 86, timeout_msecs: 4294967295) = 1 - Now 'perf trace's --max-stack and --min-stack will automatically set "--call-graph dwarf", if --call-graph is not present on the command line: [root@jouet ~]# perf trace -e nanosleep --max-stack 3 usleep 1 0.299 ( 0.057 ms): usleep/29658 nanosleep(rqtp: 0x7fff80f3b230) = 0 __nanosleep+0x10 (/usr/lib64/libc-2.22.so) usleep+0x34 (/usr/lib64/libc-2.22.so) main+0x1eb (/usr/bin/usleep) [root@jouet ~]# - Bump 'perf trace --mmap-pages' for root when using callchains and not specifying --mmap-pages explicitely (Arnaldo Carvalho de Melo) Build fixes: - The python binding object had missing symbols, to some refactoring to fix that (Arnaldo Carvalho de Melo) Signed-off-by: Arnaldo Carvalho de Melo ---------------------------------------------------------------- Arnaldo Carvalho de Melo (15): perf trace: Move socket_type beautifier to tools/perf/trace/beauty/ perf callchain: Start moving away from global per thread cursors perf evsel: Remove symbol_conf usage perf symbols: Move fprintf routines to separate object file perf evsel: Require that callchains be resolved before calling fprintf_{sym,callchain} perf tools: Remove addr_location argument to sample__fprintf_callchain perf script: Add --max-stack knob perf trace: Add --max-stack knob perf evsel: Move fprintf methods to separate source file perf trace: Do not print interrupted syscalls when using --duration perf trace: Introduce --min-stack filter perf record: Export record_opts based callchain parsing helper perf trace: Make --(min,max}-stack imply "--call-graph dwarf" perf evlist: Expose perf_event_mlock_kb_in_pages() helper perf trace: Bump --mmap-pages when --call-graph is used by the root user tools/perf/Documentation/perf-script.txt | 10 + tools/perf/Documentation/perf-trace.txt | 23 +++ tools/perf/builtin-kmem.c | 2 +- tools/perf/builtin-record.c | 35 ++-- tools/perf/builtin-script.c | 39 ++-- tools/perf/builtin-trace.c | 144 +++++++------- tools/perf/trace/beauty/socket_type.c | 60 ++++++ tools/perf/util/Build | 2 + tools/perf/util/callchain.c | 5 +- tools/perf/util/callchain.h | 9 +- tools/perf/util/evlist.c | 42 ++-- tools/perf/util/evlist.h | 2 + tools/perf/util/evsel.c | 220 --------------------- tools/perf/util/evsel.h | 19 +- tools/perf/util/evsel_fprintf.c | 212 ++++++++++++++++++++ tools/perf/util/hist.c | 2 +- tools/perf/util/machine.c | 26 +-- tools/perf/util/machine.h | 4 + tools/perf/util/python-ext-sources | 1 + .../perf/util/scripting-engines/trace-event-perl.c | 2 +- .../util/scripting-engines/trace-event-python.c | 2 +- tools/perf/util/symbol.c | 71 ------- tools/perf/util/symbol.h | 5 + tools/perf/util/symbol_fprintf.c | 71 +++++++ 24 files changed, 565 insertions(+), 443 deletions(-) create mode 100644 tools/perf/trace/beauty/socket_type.c create mode 100644 tools/perf/util/evsel_fprintf.c create mode 100644 tools/perf/util/symbol_fprintf.c