[PATCH v3 0/7] perf annotate: Fixes & Introduce --source-only and new source code view

From: Taeung Song
Date: Thu Mar 09 2017 - 12:36:02 EST


Hi,

Currently perf-annotate have several problems, limitaions and needs
regaring line numbers and source code view.

- Wrong line numbers on perf-annotate (both stdio and TUI)
- Wrong sum of overhead(percent) matching source lines
- Limitaions because of a dependence of 'objdump -S'
- A need of source code only view with overhead
for new view point for performance

So I'll handle them by this patchset.

First of all, fix several bugs regarding perf-annotate.
And Introduce --source-only option that show source code with overhead
and the new source code view for TUI.

I think --source-only and the new source code view
can provide a new view point for performance on source code level
(and I think the view is a precheck before asm level and
more readble than asm+src mixed view.)

I'd appreciate it, if you give some feedback to me.

Thanks,
Taeung

v3:
- fix mistakes about a leak or missing handing exception of v2 (Namhyung)
- fix several bugs about perf-annotate
- keep "mixed" annotation and add new --source-only option
- remove hide_src_code config for TUI

v2:
- contains the new source code view (Namhyung)

P.S.
I'm making patches for 'fold/unfold parts of asm per a line' on the new source code view.
If you agree the new source code view, I keep going to do!

Taeung Song (7):
perf annotate: Use build-id dir when reading link name
perf annotate: Avoid division by zero when calculating percent
perf annotate: Fix missing setting nr samples on source_line
perf annotate: More exactly grep -v in symbol__disassemble()
perf annotate: Get correct line numbers matched with addr
perf annotate: Introduce --source-only option
perf annotate: Support the new source code view for TUI

tools/perf/Documentation/perfconfig.example | 1 -
tools/perf/builtin-annotate.c | 2 +
tools/perf/ui/browsers/annotate.c | 238 ++++++++++++++------
tools/perf/util/annotate.c | 328 +++++++++++++++++++++++++++-
tools/perf/util/annotate.h | 31 ++-
tools/perf/util/symbol.c | 1 +
tools/perf/util/symbol.h | 1 +
7 files changed, 518 insertions(+), 84 deletions(-)

--
2.7.4