Re: [PATCHSET 00/24] perf tools: Add support to accumulate hist periods (v7)

Jiri Olsa
2014-01-23T16:23:32Z

On Thu, Jan 23, 2014 at 09:13:44AM +0900, Namhyung Kim wrote:
> Hello,
>
> This is a new attempt to implement cumulative hist period report.
> This work begins from Arun's SORT_INCLUSIVE patch [1] but I completely
> rewrote it from scratch.
>
> This patchset is based on my previous patchset [2] but I think it's
> almost independent so that it can be applied separately.
>
> Please see the patch 03/24. I refactored functions that add hist
> entries with struct hist_entry_iter. While I converted all functions
> carefully, it'd be better anyone can test and confirm that I didn't
> mess up something - especially for branch stack and mem stuff.
>
> This patchset basically adds period in a sample to every node in the
> callchain. A hist_entry now has an additional fields to keep the
> cumulative period if --children option is given on perf report.
>
> I changed the option as a separate --children and added a new
> "Children" column (and renamed the default "Overhead" column into
> "Self"). The output will be sorted by children (cumulative) overhead
> for now. The reason I changed to the --children is that I still think
> it's much different from other --call-graph options. The --call-graph
> option will take care of it even with --children option.
>
> I know that the UI should be changed also to be more flexible as Ingo
> requested, but I'd like to do this first and then move to work on the
> next. I also added a new config option to enable it by default.

SNIP

> --- _start
>
>
> Case 3.
>
> $ perf report --no-call-graph --children --stdio
>
> # Self Children Command Shared Object Symbol
> # ........ ........ ....... ................. .....................
> #
> 0.00% 91.50% abc libc-2.17.so [.] __libc_start_main
> 0.00% 91.50% abc abc [.] main
> 0.00% 91.50% abc abc [.] c
> 0.00% 91.50% abc abc [.] b
> 91.50% 91.50% abc abc [.] a
> 0.00% 8.18% abc ld-2.17.so [.] _dl_sysdep_start
> 8.18% 8.18% abc ld-2.17.so [.] strlen
> 0.01% 0.33% abc ld-2.17.so [.] _start
> 0.31% 0.31% abc [kernel.kallsyms] [k] page_fault

I couldnt get this one working:

[jolsa@krava perf]$ ./perf report --no-call-graph --children --stdio

#
# Self Children Command Shared Object Symbol
# ........ ........ ....... ............. ..........................
#
94.47% 94.47% abc abc [.] a
4.74% 4.74% abc ld-2.17.so [.] _dl_map_object_from_fd
0.75% 0.75% abc ld-2.17.so [.] _dl_start
0.04% 0.04% abc ld-2.17.so [.] _start

I was looking for cumulated stdio output without callchain unwinded,
TUI shows it properly as default

jirka