linux-perf-users.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Milian Wolff <milian.wolff@kdab.com>
To: Linux-kernel@vger.kernel.org
Cc: linux-perf-users@vger.kernel.org
Subject: Re: [PATCH 0/7] generate full callchain cursor entries for inlined frames
Date: Thu, 18 May 2017 22:05:36 +0200	[thread overview]
Message-ID: <2176198.pfBDoCjSEJ@agathebauer> (raw)
In-Reply-To: <20170518193411.22380-1-milian.wolff@kdab.com>

[-- Attachment #1: Type: text/plain, Size: 1860 bytes --]

On Donnerstag, 18. Mai 2017 21:34:04 CEST Milian Wolff wrote:
> 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 unreliably before
> - srcline honors the global setting as to whether full paths or basenames
>   should be shown
> 
> For comparison, below lists the output before and after for `perf script`
> and `perf report`. The example file I used to generate the perf data is:

And of course shortly after sending this patch series I notice the first 
issues ;-) The new behavior shows confusing results for `-g function` because 
match_chain uses sym->start. I fixed this locally to compare the actual 
function name if either of the two symbols is an inlined fake symbol:

https://github.com/milianw/linux/commit/
a1fa4486c19976f36d6ee7df263676e888c2bdb9

Before resending this whole series, it would be great if people could review 
the stuff in here such that I know whether I'm on the right track.

You can checkout my clone from github for quick testing:

https://github.com/milianw/linux/commits/wip/distinguish-inliners

Thanks

-- 
Milian Wolff | milian.wolff@kdab.com | Software Engineer
KDAB (Deutschland) GmbH&Co KG, a KDAB Group company
Tel: +49-30-521325470
KDAB - The Qt Experts

[-- Attachment #2: smime.p7s --]
[-- Type: application/pkcs7-signature, Size: 5903 bytes --]

  parent reply	other threads:[~2017-05-18 20:05 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-05-18 19:34 [PATCH 0/7] generate full callchain cursor entries for inlined frames Milian Wolff
2017-05-18 19:34 ` [PATCH 1/7] perf report: remove code to handle inline frames from browsers Milian Wolff
2017-05-18 19:34 ` [PATCH 2/7] perf util: take elf_name as const string in dso__demangle_sym Milian Wolff
2017-05-18 19:34 ` [PATCH 3/7] perf report: create real callchain entries for inlined frames Milian Wolff
2017-05-22 12:19   ` Namhyung Kim
2017-05-24 11:41     ` Milian Wolff
2017-05-18 19:34 ` [PATCH 4/7] perf report: use srcline from " Milian Wolff
2017-05-18 19:34 ` [PATCH 5/7] perf report: fall-back to function name comparison for -g srcline Milian Wolff
2017-05-18 19:34 ` [PATCH 6/7] perf report: mark inlined frames in output by " (inlined)" suffix Milian Wolff
2017-05-22 12:48   ` Namhyung Kim
2017-05-24 11:46     ` Milian Wolff
2017-06-03 13:51     ` Milian Wolff
2017-06-06  1:33       ` Namhyung Kim
2017-06-06  7:26         ` Milian Wolff
2017-06-06 19:52           ` Arnaldo Carvalho de Melo
2017-05-18 19:34 ` [PATCH 7/7] perf script: mark inlined frames and do not print DSO for them Milian Wolff
2017-05-22 12:11   ` Namhyung Kim
2017-05-24 11:40     ` Milian Wolff
2017-05-18 20:05 ` Milian Wolff [this message]
2017-05-22  9:06   ` [PATCH 0/7] generate full callchain cursor entries for inlined frames Namhyung Kim
2017-05-24 11:46     ` Milian Wolff
2017-05-24 13:42       ` Milian Wolff
2017-05-24 15:02         ` Namhyung Kim
2017-05-29 18:36           ` Milian Wolff
2017-05-30  1:33             ` Namhyung Kim
2017-05-22 12:09 ` Namhyung Kim

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2176198.pfBDoCjSEJ@agathebauer \
    --to=milian.wolff@kdab.com \
    --cc=Linux-kernel@vger.kernel.org \
    --cc=linux-perf-users@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).