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 | [email protected] | Software Engineer KDAB (Deutschland) GmbH&Co KG, a KDAB Group company Tel: +49-30-521325470 KDAB - The Qt Experts
smime.p7s
Description: S/MIME cryptographic signature

