Thread (18 messages) 18 messages, 3 authors, 2017-10-26

Re: [GIT PULL 00/15] perf/core inlining improvements

From: Ingo Molnar <mingo@kernel.org>
Date: 2017-10-25 17:10:54
Also in: lkml

* Arnaldo Carvalho de Melo [off-list ref] wrote:
Hi Ingo,

	Please consider pulling, this is Milian's v7 plus some fixes
acked by Namhyung after some discussion among the three of us, I
probably need to pick some more patches that are related to this area,
but lets make some progress and merge this kit,

- Arnaldo

Test results at the end of this message, as usual.

The following changes since commit 9b7c85473cc2fa6fc4a7f87636ff2b69742b82b7:

  Merge tag 'perf-core-for-mingo-4.15-20171023' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core (2017-10-24 10:53:04 +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-4.15-20171025

for you to fetch changes up to d8a88dd243a170a226aba33e7c53704db2f82aa6:

  perf util: Enable handling of inlined frames by default (2017-10-25 10:50:47 -0300)

----------------------------------------------------------------
perf/core inline improvements:

From Milian's cover letter: (Milian Wolff)

This series of patches completely reworks the way inline frames are
handled.  Instead of querying for the inline nodes on-demand in the
individual tools, we now create proper callchain nodes for inlined
frames. The advantages this approach brings are numerous:

- Less duplicated code in the individual browser

- Aggregated cost for inlined frames for the --children top-down list

- Various bug fixes that arose from querying for a srcline/symbol based on
  the IP of a sample, which will always point to the last inlined frame
  instead of the corresponding non-inlined frame

- Overall much better support for visualizing cost for heavily-inlined C++
  code, which simply was confusing and unreliable before

- srcline honors the global setting as to whether full paths or basenames
  should be shown

- Caches for inlined frames and srcline information, which allow us to
  enable inline frame handling by default

Signed-off-by: Arnaldo Carvalho de Melo <redacted>

----------------------------------------------------------------
Milian Wolff (15):
      perf report: Remove code to handle inline frames from browsers
      perf callchain: Store srcline in callchain_cursor_node
      perf callchain: Refactor inline_list to operate on symbols
      perf callchain: Refactor inline_list to store srcline string directly
      perf callchain: Create real callchain entries for inlined frames
      perf report: Fall-back to function name comparison for -g srcline
      perf callchain: Mark inlined frames in output by " (inlined)" suffix
      perf script: Mark inlined frames and do not print DSO for them
      perf callchain: Compare symbol name for inlined frames when matching
      perf report: Compare symbol name for inlined frames when sorting
      perf report: Properly handle branch count in match_chain()
      perf report: Cache failed lookups of inlined frames
      perf report: Cache srclines for callchain nodes
      perf report: Use srcline from callchain for hist entries
      perf util: Enable handling of inlined frames by default

 tools/perf/Documentation/perf-report.txt |   3 +-
 tools/perf/Documentation/perf-script.txt |   3 +-
 tools/perf/ui/browsers/hists.c           | 180 ++-------------------
 tools/perf/ui/stdio/hist.c               |  77 +--------
 tools/perf/util/callchain.c              | 174 +++++++++++---------
 tools/perf/util/callchain.h              |   6 +-
 tools/perf/util/dso.c                    |   7 +
 tools/perf/util/dso.h                    |   2 +
 tools/perf/util/event.c                  |   1 +
 tools/perf/util/evsel_fprintf.c          |  37 +----
 tools/perf/util/hist.c                   |   7 +-
 tools/perf/util/machine.c                |  65 +++++++-
 tools/perf/util/sort.c                   |   6 +
 tools/perf/util/sort.h                   |   1 -
 tools/perf/util/srcline.c                | 268 +++++++++++++++++++++++++------
 tools/perf/util/srcline.h                |  26 ++-
 tools/perf/util/symbol.c                 |   1 +
 tools/perf/util/symbol.h                 |   2 +
 18 files changed, 443 insertions(+), 423 deletions(-)
Pulled, thanks a lot Arnaldo!

	Ingo
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help