1. 20 Apr, 2012 4 commits
    • Arnaldo Carvalho de Melo's avatar
      perf annotate browser: Add visual cues on jump lines · 51a0d455
      Arnaldo Carvalho de Melo authored
      Using up/down arrows just before the instruction, replacing the actual chars
      with approximations to avoid mail encoding snafus:
      
      avtab_search_node
          0.00 |      push   %rbp
          0.00 |      mov    %rsp,%rbp
          0.00 |      callq  mcount
          0.00 |      movzwl 0x6(%rsi),%edx
          0.00 |      and    $0x7fff,%dx
          0.00 |      test   %rdi,%rdi
          0.00 |    v jne    20
          0.00 | 17:  xor    %eax,%eax
          0.00 | 19:  leaveq
          0.00 |      retq
          0.00 |      nopl   0x0(%rax,%rax,1)
          0.00 | 20:  mov    (%rdi),%rax
          0.00 |      test   %rax,%rax
          0.00 |    ^ je     17
          0.00 |      movzwl (%rsi),%ecx
          0.00 |      movzwl 0x2(%rsi),%r9d
          0.00 |      movzwl 0x4(%rsi),%r8d
          0.00 |      movzwl %cx,%esi
          0.00 |      movzwl %r9w,%r10d
          0.00 |      shl    $0x9,%esi
          0.00 |      lea    (%rsi,%r10,4),%esi
          0.00 |      lea    (%r8,%rsi,1),%esi
          0.00 |      and    0x10(%rdi),%si
          0.00 |      movzwl %si,%esi
          0.00 |      mov    (%rax,%rsi,8),%rax
          0.00 |      test   %rax,%rax
          0.00 |    ^ je     19
          0.00 |      nopw   0x0(%rax,%rax,1)
          0.00 | 60:  cmp    %cx,(%rax)
          0.00 |    v jne    7e
          0.00 |      cmp    %r9w,0x2(%rax)
          0.00 |    v jne    7e
          0.00 |      cmp    %r8w,0x4(%rax)
          0.00 |    v jne    79
          0.00 |      test   %dx,0x6(%rax)
          0.00 |    ^ jne    19
          0.00 | 79:  cmp    %r8w,0x4(%rax)
         93.04 | 7e:^ ja     17
          2.53 |      mov    0x10(%rax),%rax
          4.43 |      test   %rax,%rax
          0.00 |    ^ jne    60
          0.00 |      leaveq
          0.00 |      retq
      
      Next low hanging fruit is to use left arrow for retqs, then work on clearling
      marking loops.
      Requested-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Namhyung Kim <namhyung@gmail.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/n/tip-hkx848wdbs6n7bcp3ymr9yus@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      51a0d455
    • Arnaldo Carvalho de Melo's avatar
      perf annotate browser: Suppress the callq address · d2232885
      Arnaldo Carvalho de Melo authored
          0.00 |       callq  ffffffff8112f190 <__mod_zone_page_state>
      
      Becomes:
      
          0.00 |       callq  __mod_zone_page_state
      
      But if you press 'o' it gets verbose, i.e. as in objdump -dS:
      
          0.00 | ffffffff8116bdda:  callq  ffffffff8112f190 <__mod_zone_page_state>
      Requested-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Namhyung Kim <namhyung@gmail.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/n/tip-bwse2wib954y0db7dq91bes5@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      d2232885
    • Arnaldo Carvalho de Melo's avatar
      perf annotate browser: Bandaid offsets/jump label objdump ambiguity · 97148a97
      Arnaldo Carvalho de Melo authored
      We need to cope with things like:
      
      $ objdump  -d --no-show-raw -S -C /lib/modules/3.4.0-rc2+/build/vmlinux
      <SNIP>
      ffffffff8125ec60 <copy_user_generic_unrolled>:
       * Output:
       * eax uncopied bytes or 0 if successful.
       */
      ENTRY(copy_user_generic_unrolled)
      	CFI_STARTPROC
      	cmpl $8,%edx
      ffffffff8125ec60:	cmp    $0x8,%edx
      	jb 20f		/* less then 8 bytes, go to byte copy loop */
      ffffffff8125ec63:	jb     ffffffff8125ecf5 <copy_user_generic_unrolled+0x95>
      	ALIGN_DESTINATION
      <SNIP>
      ffffffff8125ec8d:	je     ffffffff8125ecd9 <copy_user_generic_unrolled+0x79>
      1:	movq (%rsi),%r8
      ffffffff8125ec8f:	mov    (%rsi),%r8
      2:	movq 1*8(%rsi),%r9
      ffffffff8125ec92:	mov    0x8(%rsi),%r9
      3:	movq 2*8(%rsi),%r10
      ffffffff8125ec96:	mov    0x10(%rsi),%r10
      4:	movq 3*8(%rsi),%r11
      
      <SNIP>
      
      Probably expect that the length of the addr field be the same...
      
      Lazy move for now, back to supporting suppressing the address on callq lines...
      
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Namhyung Kim <namhyung@gmail.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/n/tip-7hp85vnvowpqj8799f8rxbu1@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      97148a97
    • Arnaldo Carvalho de Melo's avatar
      perf annotate: Group operands members · c7e6ead7
      Arnaldo Carvalho de Melo authored
      So that the ins_ops can handle them in a single place, instead of adding
      more and more functions or ins_ops parameters.
      
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Namhyung Kim <namhyung@gmail.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/n/tip-pk4dqaum6ftiz104dvimwgtb@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      c7e6ead7
  2. 19 Apr, 2012 8 commits
  3. 18 Apr, 2012 2 commits
  4. 16 Apr, 2012 3 commits
  5. 13 Apr, 2012 2 commits
    • Ingo Molnar's avatar
      Merge tag 'v3.4-rc2' into perf/core · a385ec4f
      Ingo Molnar authored
      Merge Linux 3.4-rc2: we were on v3.3, update the base.
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      a385ec4f
    • Ingo Molnar's avatar
      Merge tag 'perf-core-for-mingo' of... · 659c36fc
      Ingo Molnar authored
      Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core
      
      Fixes and improvements for perf/core:
      
      . Overhaul the tools/ makefiles, gluing them to the top level Makefile, from
        Borislav Petkov.
      
      . Move the UI files from tools/perf/util/ui/ to tools/perf/ui/. Also move
        the GTK+ browser to tools/perf/ui/gtk/, from Namhyung Kim.
      
      . Only fallback to sw cycles counter on ENOENT for the hw cycles, from
        Robert Richter
      
      . Trivial fixes from Robert Richter
      
      . Handle the autogenerated bison/flex files better, from Namhyung and Jiri Olsa.
      
      . Navigate jump instructions in the annotate browser, just press enter or ->,
        still needs support for a jump navigation history, i.e. to go back.
      
      . Search string in the annotate browser: same keys as vim:
           / forward
           n next backward/forward
           ? backward
      
      . Clarify number of events/samples in the report header, from Ashay Rane
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      659c36fc
  6. 11 Apr, 2012 13 commits
  7. 08 Apr, 2012 1 commit
  8. 07 Apr, 2012 7 commits