[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1393561352-23448-1-git-send-email-andi@firstfloor.org>
Date: Thu, 27 Feb 2014 20:22:24 -0800
From: Andi Kleen <andi@...stfloor.org>
To: acme@...hat.com
Cc: mingo@...nel.org, linux-kernel@...r.kernel.org, eranian@...gle.com,
namhyung@...nel.org, jolsa@...hat.com
Subject: perf: Implement lbr-as-callgraph v4
[All review feedback addressed.]
This patchkit implements lbr-as-callgraphs in per freport,
as an alternative way to present LBR information.
Current perf report does a histogram over the branch edges,
which is useful to look at basic blocks, but doesn't tell
you anything about the larger control flow behaviour.
This patchkit adds a new option --branch-history that
adds the branch paths to the callgraph history instead.
This allows to reason about individual branch paths leading
to specific samples.
Also improves srcline display in various ways to make
branches better understandable.
Also available at
git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-misc perf/lbr-callgraph4
Example output:
% perf record -b -g ./tsrc/tcall
[ perf record: Woken up 1 times to write data ]
[ perf record: Captured and wrote 0.044 MB perf.data (~1923 samples) ]
% perf report --branch-history
...
54.91% tcall.c:6 [.] f2 tcall
|
|--65.53%-- f2 tcall.c:5
| |
| |--70.83%-- f1 tcall.c:11
| | f1 tcall.c:10
| | main tcall.c:18
| | main tcall.c:18
| | main tcall.c:17
| | main tcall.c:17
| | f1 tcall.c:13
| | f1 tcall.c:13
| | f2 tcall.c:7
| | f2 tcall.c:5
| | f1 tcall.c:12
| | f1 tcall.c:12
| | f2 tcall.c:7
| | f2 tcall.c:5
| | f1 tcall.c:11
v2:
- rebased on perf/core
- fix various issues
- rename the option to --branch-history
- various fixes to display the information more concise
v3:
- White space changes
- Consolidate some patches
- Update some descriptions
v4:
- Fix various display problems
- Unknown srcline is now printed as symbol+offset
- Refactor some code to address review feedback
- Merge with latest tip
- Fix missing srcline display in stdio hist output.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists