Re: [PATCH 4/7] perf script: Add --inline option

From: Namhyung Kim
Date: Wed May 24 2017 - 03:13:38 EST


On Wed, May 24, 2017 at 08:38:11AM +0200, Ingo Molnar wrote:
>
> * Namhyung Kim <namhyung@xxxxxxxxxx> wrote:
>
> > The --inline option is to show inlined functions in callchains.
> >
> > For example,
> >
> > $ perf script
> > a.out 5644 11611.467597: 309961 cycles:u:
> > 790 main (/home/namhyung/tmp/perf/a.out)
> > 20511 __libc_start_main (/usr/lib/libc-2.25.so)
> > 8ba _start (/home/namhyung/tmp/perf/a.out)
> > ...
> >
> > $ perf script --inline
> > a.out 5644 11611.467597: 309961 cycles:u:
> > 790 main (/home/namhyung/tmp/perf/a.out)
> > std::__detail::_Adaptor<std::linear_congruential_engine<unsigned long, 16807ul, 0ul, 2147483647ul>, double>::operator()
> > std::uniform_real_distribution<double>::operator()<std::linear_congruential_engine<unsigned long, 16807ul, 0ul, 2147483647ul> >
> > std::uniform_real_distribution<double>::operator()<std::linear_congruential_engine<unsigned long, 16807ul, 0ul, 2147483647ul> >
> > main
> > 20511 __libc_start_main (/usr/lib/libc-2.25.so)
> > 8ba _start (/home/namhyung/tmp/perf/a.out)
> > ...
>
> Shouldn't this be the default behavior, to make call chains more readable?

AFAIK perf report didn't make it default due to a performance impact,
but I didn't know how much it is. Especially if perf was not built
with libbfd it'll run external addr2line to get inlined functions for
each callchain entry..

Thanks,
Namhyung