Home
Reading
Searching
Subscribe
Sponsors
Statistics
Posting
Contact
Spam
Lists
Links
About
Hosting
Filtering
Features Download
Marketing
Archives
FAQ
Blog
 
Gmane
From: Namhyung Kim <namhyung <at> kernel.org>
Subject: [PATCH 00/12] perf annotate: Add support for event group view (v2)
Newsgroups: gmane.linux.kernel
Date: Tuesday 5th March 2013 05:53:20 UTC (over 3 years ago)
Hi all,

This patchset implements event group view on perf annotate.  It's
basically a rebased version and major difference to prior version is
the GTK annotation browser support.

Here goes an example:

 $ perf annotate --group --stdio

  Percent                 |      Source code & Disassembly of
libpthread-2.15.so
 --------------------------------------------------------------------------------
                          :
                          :
                          :
                          :      Disassembly of section .text:
                          :
                          :      000000387dc0aa50
<__pthread_mutex_unlock_usercnt>:
  crtstuff.c:0
     8.08    2.40    5.29 :        387dc0aa50:   mov    %rdi,%rdx
     0.00    0.00    0.00 :        387dc0aa53:   mov    0x10(%rdi),%edi
     0.00    0.00    0.00 :        387dc0aa56:   mov    %edi,%eax
  crtstuff.c:0
     0.00    0.80    0.00 :        387dc0aa58:   and    $0x7f,%eax
     3.03    2.40    3.53 :        387dc0aa5b:   test   $0x7c,%dil
     0.00    0.00    0.00 :        387dc0aa5f:   jne    387dc0aaa9
<__pthread_mutex_unlock_use
     0.00    0.00    0.00 :        387dc0aa61:   test   %eax,%eax
     0.00    0.00    0.00 :        387dc0aa63:   jne    387dc0aa85
<__pthread_mutex_unlock_use
     0.00    0.00    0.00 :        387dc0aa65:   and    $0x80,%edi
     0.00    0.00    0.00 :        387dc0aa6b:   test   %esi,%esi
  crtstuff.c:0
     3.03    5.60    7.06 :        387dc0aa6d:   movl   $0x0,0x8(%rdx)
  crtstuff.c:0
     0.00    0.00    0.59 :        387dc0aa74:   je     387dc0aa7a
<__pthread_mutex_unlock_use
     0.00    0.00    0.00 :        387dc0aa76:   subl   $0x1,0xc(%rdx)
  crtstuff.c:0
     2.02    5.60    1.18 :        387dc0aa7a:   mov    %edi,%esi
     0.00    0.00    0.00 :        387dc0aa7c:   lock decl (%rdx)
    83.84   83.20   82.35 :        387dc0aa7f:   jne    387dc0aada
<_L_unlock_586>
     0.00    0.00    0.00 :        387dc0aa81:   nop
     0.00    0.00    0.00 :        387dc0aa82:   xor    %eax,%eax
     0.00    0.00    0.00 :        387dc0aa84:   retq   
 ...


You can access it via perf/annotate-group-v2 branch on my tree

  git://git.kernel.org/pub/scm/linux/kernel/git/namhyung/linux-perf.git

Any comments are welcome, thanks
Namhyung


Namhyung Kim (12):
  perf annotate: Pass evsel instead of evidx on annotation functions
  perf annotate: Add a comment on the symbol__parse_objdump_line()
  perf annotate: Factor out disasm__calc_percent()
  perf annotate: Cleanup disasm__calc_percent()
  perf annotate: Add basic support to event group view
  perf evsel: Introduce perf_evsel__is_group_event() helper
  perf annotate: Factor out struct source_line_percent
  perf annotate: Support event group view for --print-line
  perf annotate browser: Make browser_disasm_line->percent an array
  perf annotate browser: Use disasm__calc_percent()
  perf annotate browser: Support event group view on TUI
  perf annotate/gtk: Support event group view on GTK

 tools/perf/Documentation/perf-annotate.txt |   3 +
 tools/perf/builtin-annotate.c              |  23 ++-
 tools/perf/builtin-report.c                |   2 +-
 tools/perf/builtin-top.c                   |   2 +-
 tools/perf/ui/browsers/annotate.c          | 139 +++++++++------
 tools/perf/ui/browsers/hists.c             |   6 +-
 tools/perf/ui/gtk/annotate.c               |  26 ++-
 tools/perf/ui/gtk/hists.c                  |   7 +-
 tools/perf/ui/hist.c                       |   7 +-
 tools/perf/util/annotate.c                 | 262
++++++++++++++++++++++-------
 tools/perf/util/annotate.h                 |  49 +++---
 tools/perf/util/evsel.h                    |  24 +++
 tools/perf/util/hist.h                     |   5 +-
 13 files changed, 389 insertions(+), 166 deletions(-)

-- 
1.7.11.7
 
CD: 2ms