From: "Jin, Yao" <yao.jin@linux.intel.com>
To: Milian Wolff <milian.wolff@kdab.com>
Cc: linux-perf-users <linux-perf-users@vger.kernel.org>
Subject: Re: Feedback on: [RESEND PATCH v2 0/5] perf report: Show inline stack
Date: Tue, 10 Jan 2017 09:53:04 +0800 [thread overview]
Message-ID: <780b3634-fa42-01f5-4f95-3c571fa4eb84@linux.intel.com> (raw)
In-Reply-To: <25589337.ZiVbHRJfWF@milian-kdab2>
Hi Wolff,
I update the patch series with adding inline searching for each
callchain entry.
Now the result tested on my skl machine is:
# Overhead Command Shared Object Symbol
# ........ ....... ................... ..................................
#
56.76% inline inline [.] main
|
---main
__libc_start_main
_start
40.54% inline libm-2.23.so [.] __hypot_finite
|
---__hypot_finite
|
--40.09%--__hypot
|
---/usr/include/c++/5/bits/random.h:151 (inline)
/usr/include/c++/5/bits/random.h:332 (inline)
/usr/include/c++/5/bits/random.tcc:3328 (inline)
/usr/include/c++/5/bits/random.h:185 (inline)
/usr/include/c++/5/bits/random.h:1818 (inline)
/usr/include/c++/5/bits/random.h:1809 (inline)
/home/jinyao/skl-ws/perf-dev/lck-2867/test/inline.cpp:14 (inline)
main
__libc_start_main
_start
1.30% inline libm-2.23.so [.] __hypot
|
---__hypot
|
---/usr/include/c++/5/bits/random.h:151 (inline)
/usr/include/c++/5/bits/random.h:332 (inline)
/usr/include/c++/5/bits/random.tcc:3328 (inline)
/usr/include/c++/5/bits/random.h:185 (inline)
/usr/include/c++/5/bits/random.h:1818 (inline)
/usr/include/c++/5/bits/random.h:1809 (inline)
/home/jinyao/skl-ws/perf-dev/lck-2867/test/inline.cpp:14 (inline)
main
__libc_start_main
_start
Thanks
Jin Yao
On 1/9/2017 4:41 PM, Milian Wolff wrote:
> On Monday, January 9, 2017 4:17:48 PM CET Jin, Yao wrote:
>> Hi Wolff,
>>
>> Thanks a lot for your test code!
>>
>> I have updated my patch. The new output for your test code (binary name
>> is inline) is:
>>
>> # Overhead Command Shared Object Symbol
>> # ........ ....... ................... ..................................
>> #
>> 56.76% inline inline [.] main
>>
>> ---main
>> __libc_start_main
>> _start
>>
>> 40.54% inline libm-2.23.so [.] __hypot_finite
>>
>> ---__hypot_finite
>>
>> --40.09%--__hypot
>> main
>> __libc_start_main
>> _start
>>
>> 1.30% inline libm-2.23.so [.] __hypot
>>
>> ---__hypot
>> main
>>
>> ---/usr/include/c++/5/bits/random.h:151 (inline)
>> /usr/include/c++/5/bits/random.h:332 (inline)
>> /usr/include/c++/5/bits/random.tcc:3328 (inline)
>> /usr/include/c++/5/bits/random.h:185 (inline)
>> /usr/include/c++/5/bits/random.h:1818 (inline)
>> /usr/include/c++/5/bits/random.h:1809 (inline)
>> /home/jinyao/skl-ws/perf-dev/lck-2867/test/inline.cpp:14 (inline)
>> __libc_start_main
>> _start
>>
>> The inline entry is tagged with "(inline)". Is this result within
>> expectation?
> No, this is not the expected output. I expect to get information about the
> inlined frames in the middle of the call stack, in this example that happens
> for the first two major hotspots.
>
> Below is the output from my approach to this problem using my -g srcline:
>
> ~~~~~~~~~~~~~~ pasted here for readability: https://paste.kde.org/pmq3bc1le
> Samples: 149 of event 'cycles:ppp', Event count (approx.): 141334499
> Overhead Command Shared Object Symbol
> - 62.24% inline inline [.] main
> - 27.98% std::generate_canonical<double, 53ul,
> std::linear_congruential_engine<unsigned long, 16807ul, 0ul, 2147483647ul> >
> random.tcc:3332
> std::__detail::_Adaptor<std::linear_congruential_engine<unsigned long,
> 16807ul, 0ul, 2147483647ul>, double>::operator() random.h:185
> std::uniform_real_distribution<double>::operator()<std::linear_congruential_engine<unsigned
> long, 16807ul, 0ul, 2147483647ul> > random.h:1818
> std::uniform_real_distribution<double>::operator()<std::linear_congruential_engine<unsigned
> long, 16807ul, 0ul, 2147483647ul> > random.h:1809
> main ine.cpp:14
> __libc_start_main +241
> _start +4194346
> - 25.88% std::__detail::_Mod<unsigned long, 2147483647ul, 16807ul, 0ul,
> true, true>::__calc random.h:143
> std::__detail::__mod<unsigned long, 2147483647ul, 16807ul, 0ul>
> random.h:151
> std::linear_congruential_engine<unsigned long, 16807ul, 0ul,
> 2147483647ul>::operator() random.h:332
> std::generate_canonical<double, 53ul,
> std::linear_congruential_engine<unsigned long, 16807ul, 0ul, 2147483647ul> >
> random.tcc:3332
> std::__detail::_Adaptor<std::linear_congruential_engine<unsigned long,
> 16807ul, 0ul, 2147483647ul>, double>::operator() random.h:185
> std::uniform_real_distribution<double>::operator()<std::linear_congruential_engine<unsigned
> long, 16807ul, 0ul, 2147483647ul> > random.h:1818
> std::uniform_real_distribution<double>::operator()<std::linear_congruential_engine<unsigned
> long, 16807ul, 0ul, 2147483647ul> > random.h:1809
> main ine.cpp:14
> __libc_start_main +241
> _start +4194346
> + 4.14% main inline.cpp:13
> + 2.89%
> std::uniform_real_distribution<double>::operator()<std::linear_congruential_engine<unsigned
> long, 16807ul, 0ul, 2147483647ul> > random.h:1818
> + 0.68% std::_Norm_helper<true>::_S_do_it<double> complex:655
> + 0.67% std::generate_canonical<double, 53ul,
> std::linear_congruential_engine<unsigned long, 16807ul, 0ul, 2147483647ul> >
> random.tcc:3326
> - 26.24% inline libm-2.24.so [.] __hypot_finite
> - __hypot_finite +179
> - 25.56% hypot +20
> std::__complex_abs complex:589
> std::abs<double> complex:597
> std::_Norm_helper<true>::_S_do_it<double> complex:654
> std::norm<double> complex:664
> main ine.cpp:14
> __libc_start_main +241
> _start +4194346
> 0.68% 0x40ead238ed1a2cf4
> - 6.85% inline libm-2.24.so [.] hypot
> hypot +40
> std::__complex_abs complex:589
> std::abs<double> complex:597
> std::_Norm_helper<true>::_S_do_it<double> complex:654
> std::norm<double> complex:664
> main ine.cpp:14
> __libc_start_main +241
> _start +4194346
> ~~~~~~~~~~~~~~
>
> I hope you see the value of such a report versus what you are proposing.
>
> Thanks
>
next prev parent reply other threads:[~2017-01-10 1:53 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-01-07 20:13 Feedback on: [RESEND PATCH v2 0/5] perf report: Show inline stack Milian Wolff
2017-01-09 3:07 ` Jin, Yao
2017-01-09 8:02 ` Milian Wolff
2017-01-09 8:17 ` Jin, Yao
2017-01-09 8:41 ` Milian Wolff
2017-01-10 1:53 ` Jin, Yao [this message]
2017-01-10 15:03 ` Milian Wolff
2017-01-11 1:01 ` Jin, Yao
2017-01-13 8:56 ` Milian Wolff
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=780b3634-fa42-01f5-4f95-3c571fa4eb84@linux.intel.com \
--to=yao.jin@linux.intel.com \
--cc=linux-perf-users@vger.kernel.org \
--cc=milian.wolff@kdab.com \
/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).