Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1644884

Re: [PATCH 0/7] generate full callchain cursor entries for inlined frames

From Milian Wolff <milian.wolff@kdab.com>
Newsgroups linux.kernel
Subject Re: [PATCH 0/7] generate full callchain cursor entries for inlined frames
Date 2017-05-18 22:10 +0200
Message-ID <tIzUd-8fL-1@gated-at.bofh.it> (permalink)
References <tIzrb-7No-3@gated-at.bofh.it>
Organization KDAB (Deutschland) GmbH&Co KG, a KDAB Group company

Show all headers | View raw


[Multipart message — attachments visible in raw view] - view raw

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

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH 0/7] generate full callchain cursor entries for inlined frames Milian Wolff <milian.wolff@kdab.com> - 2017-05-18 21:40 +0200
  [PATCH 3/7] perf report: create real callchain entries for inlined frames Milian Wolff <milian.wolff@kdab.com> - 2017-05-18 21:40 +0200
    Re: [PATCH 3/7] perf report: create real callchain entries for  inlined frames Namhyung Kim <namhyung@kernel.org> - 2017-05-22 14:30 +0200
      Re: [PATCH 3/7] perf report: create real callchain entries for inlined frames Milian Wolff <milian.wolff@kdab.com> - 2017-05-24 13:50 +0200
  Re: [PATCH 0/7] generate full callchain cursor entries for inlined frames Milian Wolff <milian.wolff@kdab.com> - 2017-05-18 22:10 +0200
    Re: [PATCH 0/7] generate full callchain cursor entries for inlined  frames Namhyung Kim <namhyung@kernel.org> - 2017-05-22 11:10 +0200
      Re: [PATCH 0/7] generate full callchain cursor entries for inlined frames Milian Wolff <milian.wolff@kdab.com> - 2017-05-24 13:50 +0200
        Re: [PATCH 0/7] generate full callchain cursor entries for inlined frames Milian Wolff <milian.wolff@kdab.com> - 2017-05-24 15:50 +0200
          Re: [PATCH 0/7] generate full callchain cursor entries for inlined  frames Namhyung Kim <namhyung@kernel.org> - 2017-05-24 17:10 +0200
  Re: [PATCH 0/7] generate full callchain cursor entries for inlined  frames Namhyung Kim <namhyung@kernel.org> - 2017-05-22 14:10 +0200

csiph-web