Skip to content

perf tools DWARF libunwind: Add callchain order support

Jiri Olsa lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest3 patches 18 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/3perf tools: Move initial entry call into get_entries functiontools/perf/util/unwind-libunwind.c+15 -100 replies
2/3perf tools: Add callchain order support for libunwind DWARF unwindertools/perf/util/unwind-libunwind.c+30 -1712 replies
3/3perf test: Add callchain order setup for DWARF unwinder testtools/perf/tests/dwarf-unwind.c+19 -30 replies

Reviews trailers per patch

None of the 3 patches has a Reviewed-by or Acked-by.

PatchMilian WolffWang Nan
SeriesT-b T-b
1/3
2/3Based-on-patch-by Based-on-patch-by T-b
3/3

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v1 thread

Cover letter [PATCH 0/3] perf tools DWARF libunwind: Add callchain order support

hi,
as reported by Milian, currently for DWARF unwind (both libdw and libunwind) we display callchain in callee order only.

Adding the support to follow callchain order setup to libunwind DWARF unwinder, so we could get following output for report:

  $ perf record --call-graph dwarf ls
  ...
  $ perf report --no-children --stdio
    39.26%  ls       libc-2.21.so      [.] __strcoll_l
                 |
                 ---__strcoll_l
                    mpsort_with_tmp
                    mpsort_with_tmp
                    sort_files
                    main
                    __libc_start_main
                    _start
                    0
  $ perf report -g caller --no-children --stdio
    ...
    39.26%  ls       libc-2.21.so      [.] __strcoll_l
                 |
                 ---0
                    _start
                    __libc_start_main
                    main
                    sort_files
                    mpsort_with_tmp
                    mpsort_with_tmp
                    __strcoll_l

Tested on x86_64. The change is in generic code only, so it should not affect other archs. Still it would be nice to have some confirmation.. Wang Nan? ;-)

It'd be nice to have this for libdw unwind as well, but it looks like it's out of reach for perf code.. Jan?

Also available in:
git://git.kernel.org/pub/scm/linux/kernel/git/jolsa/perf.git
perf/callchain_1

thanks,
jirka

Cc Jan Kratochvil <[email protected]>

---
Jiri Olsa (3):
perf tools: Move initial entry call into get_entries function perf tools: Add callchain order support for libunwind DWARF unwinder perf test: Add callchain order setup for DWARF unwinder test

 tools/perf/tests/dwarf-unwind.c    | 22 +++++++++++++++++++---
 tools/perf/util/unwind-libunwind.c | 60 +++++++++++++++++++++++++++++++++++++++---------------------
 2 files changed, 58 insertions(+), 24 deletions(-)