1. 21 4月, 2012 4 次提交
    • A
      perf annotate browser: Add visual cue for retq instruction · 4ea08b52
      Arnaldo Carvalho de Melo 提交于
      Just use a left arrow prefixing retqs.
      Requested-by: NLinus 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-tnpfijuomrntbnl5vr6ibdwa@git.kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      4ea08b52
    • A
      perf annotate browser: Add visual cues on jump lines · 51a0d455
      Arnaldo Carvalho de Melo 提交于
      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: NLinus 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: NArnaldo Carvalho de Melo <acme@redhat.com>
      51a0d455
    • A
      perf annotate browser: Bandaid offsets/jump label objdump ambiguity · 97148a97
      Arnaldo Carvalho de Melo 提交于
      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: NArnaldo Carvalho de Melo <acme@redhat.com>
      97148a97
    • A
      perf annotate: Group operands members · c7e6ead7
      Arnaldo Carvalho de Melo 提交于
      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: NArnaldo Carvalho de Melo <acme@redhat.com>
      c7e6ead7
  2. 20 4月, 2012 3 次提交
  3. 19 4月, 2012 5 次提交
  4. 16 4月, 2012 2 次提交
  5. 12 4月, 2012 1 次提交