public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [GIT PULL 00/15] perf/core improvements
@ 2016-04-15 21:50 Arnaldo Carvalho de Melo
  2016-04-15 21:50 ` [PATCH 01/15] perf trace: Move socket_type beautifier to tools/perf/trace/beauty/ Arnaldo Carvalho de Melo
                   ` (15 more replies)
  0 siblings, 16 replies; 19+ messages in thread
From: Arnaldo Carvalho de Melo @ 2016-04-15 21:50 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Arnaldo Carvalho de Melo, Adrian Hunter,
	David Ahern, Frederic Weisbecker, Jiri Olsa, Milian Wolff,
	Namhyung Kim, Wang Nan, Arnaldo Carvalho de Melo

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 <acme@redhat.com>

----------------------------------------------------------------
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

^ permalink raw reply	[flat|nested] 19+ messages in thread
* [GIT PULL 00/15] perf/core improvements
@ 2011-10-06 17:22 Arnaldo Carvalho de Melo
  2011-10-10  5:11 ` Ingo Molnar
  0 siblings, 1 reply; 19+ messages in thread
From: Arnaldo Carvalho de Melo @ 2011-10-06 17:22 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Arnaldo Carvalho de Melo, Andi Kleen, David Ahern,
	Frederic Weisbecker, Ingo Molnar, Mike Galbraith, Paul Mackerras,
	Peter Zijlstra, Robert Richter, Stephane Eranian, Thomas Gleixner,
	arnaldo.melo

Hi Ingo,

        Please consider pulling from:

git://github.com/acmel/linux.git perf/core

	It makes 'perf top' use the abstractions in 'perf report', allowing it
to:

1. Have total consistency with 'report'

2. Allow --sort to be used to have more views than just 'dso, symbol'
   Try 'perf top --sort comm' or 'pid' for instance

3. All the goodies in the TUI, like zooming in/out threads, dsos, etc

4. Integration with Live Annotation

5. In the live annotation window, navigate to functions called by the one
   being annotated (x86_64 only right now). This is just an experimentation
   in increasing the integration of the multiple perf tools, more of this
   kind to come.

6. Initial callchain support, not yet decaying it over time as the main
   view.

	Also in this batch is the work Stephane did on including information
about the machine where the perf.data file was collected.

Regards,

- Arnaldo

Arnaldo Carvalho de Melo (13):
  perf hists: Stop using 'self' for struct hists
  perf hists: Allow limiting the number of rows and columns in fprintf
  perf report: Add option to show total period
  perf hists: Threaded addition and sorting of entries
  perf browsers: Add live mode to the hists, annotate browsers
  perf top: Reuse the 'report' hist_entry/hists classes
  perf top: Add callgraph support
  perf annotate browser: Allow navigation to called functions
  perf top: Use the TUI interface by default
  perf annotate browser: Use -> to navigate on assembly lines
  perf hists browser: Don't offer symbol actions when symbols not on --sort
  perf hists browser: Fix TAB/UNTAB use with multiple events
  perf hists browser: Update the browser.nr_entries after the timer

Stephane Eranian (2):
  perf tools: Fix broken number of samples for perf report -n
  perf tools: Make perf.data more self-descriptive (v8)

 tools/perf/Documentation/perf-report.txt |    8 +
 tools/perf/Documentation/perf-script.txt |    7 +
 tools/perf/Documentation/perf-top.txt    |   38 +-
 tools/perf/Makefile                      |    4 -
 tools/perf/arch/powerpc/Makefile         |    1 +
 tools/perf/arch/powerpc/util/header.c    |   36 +
 tools/perf/arch/x86/Makefile             |    1 +
 tools/perf/arch/x86/util/header.c        |   59 ++
 tools/perf/builtin-annotate.c            |    9 +-
 tools/perf/builtin-diff.c                |    2 +-
 tools/perf/builtin-record.c              |   15 +
 tools/perf/builtin-report.c              |   17 +-
 tools/perf/builtin-script.c              |    6 +-
 tools/perf/builtin-top.c                 |  430 +++++++-----
 tools/perf/builtin.h                     |    1 -
 tools/perf/perf.h                        |   11 +
 tools/perf/util/annotate.h               |    7 +-
 tools/perf/util/evlist.c                 |    6 +
 tools/perf/util/evlist.h                 |    4 +
 tools/perf/util/evsel.c                  |    1 +
 tools/perf/util/header.c                 | 1145 +++++++++++++++++++++++++++++-
 tools/perf/util/header.h                 |   29 +-
 tools/perf/util/hist.c                   |  338 +++++++---
 tools/perf/util/hist.h                   |   33 +-
 tools/perf/util/session.c                |   19 +
 tools/perf/util/session.h                |    1 +
 tools/perf/util/sort.h                   |    1 +
 tools/perf/util/symbol.h                 |    1 +
 tools/perf/util/top.c                    |  141 +----
 tools/perf/util/top.h                    |   36 +-
 tools/perf/util/ui/browsers/annotate.c   |   99 +++-
 tools/perf/util/ui/browsers/hists.c      |  146 +++--
 tools/perf/util/ui/browsers/top.c        |  236 ------
 33 files changed, 2091 insertions(+), 797 deletions(-)
 create mode 100644 tools/perf/arch/powerpc/util/header.c
 create mode 100644 tools/perf/arch/x86/util/header.c
 delete mode 100644 tools/perf/util/ui/browsers/top.c


^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2016-04-16  9:12 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-04-15 21:50 [GIT PULL 00/15] perf/core improvements Arnaldo Carvalho de Melo
2016-04-15 21:50 ` [PATCH 01/15] perf trace: Move socket_type beautifier to tools/perf/trace/beauty/ Arnaldo Carvalho de Melo
2016-04-15 21:50 ` [PATCH 02/15] perf callchain: Start moving away from global per thread cursors Arnaldo Carvalho de Melo
2016-04-15 21:50 ` [PATCH 03/15] perf evsel: Remove symbol_conf usage Arnaldo Carvalho de Melo
2016-04-15 21:50 ` [PATCH 04/15] perf symbols: Move fprintf routines to separate object file Arnaldo Carvalho de Melo
2016-04-15 21:50 ` [PATCH 05/15] perf evsel: Require that callchains be resolved before calling fprintf_{sym,callchain} Arnaldo Carvalho de Melo
2016-04-15 21:50 ` [PATCH 06/15] perf tools: Remove addr_location argument to sample__fprintf_callchain Arnaldo Carvalho de Melo
2016-04-15 21:50 ` [PATCH 07/15] perf script: Add --max-stack knob Arnaldo Carvalho de Melo
2016-04-15 21:50 ` [PATCH 08/15] perf trace: " Arnaldo Carvalho de Melo
2016-04-15 21:50 ` [PATCH 09/15] perf evsel: Move fprintf methods to separate source file Arnaldo Carvalho de Melo
2016-04-15 21:50 ` [PATCH 10/15] perf trace: Do not print interrupted syscalls when using --duration Arnaldo Carvalho de Melo
2016-04-15 21:50 ` [PATCH 11/15] perf trace: Introduce --min-stack filter Arnaldo Carvalho de Melo
2016-04-15 21:50 ` [PATCH 12/15] perf record: Export record_opts based callchain parsing helper Arnaldo Carvalho de Melo
2016-04-15 21:50 ` [PATCH 13/15] perf trace: Make --(min,max}-stack imply "--call-graph dwarf" Arnaldo Carvalho de Melo
2016-04-15 21:51 ` [PATCH 14/15] perf evlist: Expose perf_event_mlock_kb_in_pages() helper Arnaldo Carvalho de Melo
2016-04-15 21:51 ` [PATCH 15/15] perf trace: Bump --mmap-pages when --call-graph is used by the root user Arnaldo Carvalho de Melo
2016-04-16  9:12 ` [GIT PULL 00/15] perf/core improvements Ingo Molnar
  -- strict thread matches above, loose matches on Subject: below --
2011-10-06 17:22 Arnaldo Carvalho de Melo
2011-10-10  5:11 ` Ingo Molnar

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox