• Arnaldo Carvalho de Melo's avatar
    perf annotate: Allow configuring the 'disassembler_style' knob via 'perf config' · bbe54468
    Arnaldo Carvalho de Melo authored
      # perf annotate --stdio2 acpi_processor_ffh_cstate_enter > default
      # perf config annotate.disassembler_style=intel
      # perf config annotate.disassembler_style
      annotate.disassembler_style=intel
      # perf annotate --stdio2 acpi_processor_ffh_cstate_enter > intel
      # diff -u default intel
      --- default	2020-09-04 13:09:26.019205732 -0300
      +++ intel	2020-09-04 13:09:52.823795081 -0300
      @@ -1,42 +1,42 @@
       Samples: 1K of event 'cycles', 4000 Hz, Event count (approx.): 990065316, [percent: local period]
       acpi_processor_ffh_cstate_enter() /lib/modules/5.9.0-rc3/build/vmlinux
      -Percent     → callq   __fentry__
      -              mov     cpu_number,%edx
      -              mov     %edx,%edx
      -              mov     cpu_cstate_entry,%rax
      -              add     -0x7dbe9700(,%rdx,8),%rax
      -              movzbl  0x9(%rdi),%edx
      -              mov     0x4(%rax,%rdx,8),%edi
      -              mov     (%rax,%rdx,8),%esi
      -            → jmpq    137ccc6
      -        2d: → jmpq    137ccd8
      +Percent     → call    __fentry__
      +              mov     edx,DWORD PTR gs:[rip+0x7e541d74]
      +              mov     edx,edx
      +              mov     rax,QWORD PTR [rip+0x152b8fb]
      +              add     rax,QWORD PTR [rdx*8-0x7dbe9700]
      +              movzx   edx,BYTE PTR [rdi+0x9]
      +              mov     edi,DWORD PTR [rax+rdx*8+0x4]
      +              mov     esi,DWORD PTR [rax+rdx*8]
      +            → jmp     137ccc6
      +        2d: → jmp     137ccd8
                     mfence
      -              mov     %gs:0x17bc0,%rax
      -              clflush (%rax)
      +              mov     rax,QWORD PTR gs:0x17bc0
      +              clflush BYTE PTR [rax]
                     mfence
      -              xor     %edx,%edx
      -              mov     %rdx,%rcx
      -              mov     %gs:0x17bc0,%rax
      -  0.00        monitor %rax,%ecx,%edx
      -              mov     (%rax),%rax
      -              test    $0x8,%al
      +              xor     edx,edx
      +              mov     rcx,rdx
      +              mov     rax,QWORD PTR gs:0x17bc0
      +  0.00        monitor
      +              mov     rax,QWORD PTR [rax]
      +              test    al,0x8
                   ↓ jne     71
      -            ↓ jmpq    68
      -              verw    0x538b08(%rip)        # ffffffff82008150 <ds.0>
      -        68:   mov     %rsi,%rax
      -              mov     %rdi,%rcx
      -100.00        mwait   %eax,%ecx
      -        71:   mov     %gs:0x17bc0,%rax
      -              lock    andb    $0xdf,0x2(%rax)
      -              lock    addl    $0x0,-0x4(%rsp)
      -              mov     (%rax),%rax
      -              test    $0x8,%al
      +            ↓ jmp     68
      +              verw    WORD PTR [rip+0x538b08]        # ffffffff82008150 <ds.0>
      +        68:   mov     rax,rsi
      +              mov     rcx,rdi
      +100.00        mwait
      +        71:   mov     rax,QWORD PTR gs:0x17bc0
      +              lock    and     BYTE PTR [rax+0x2],0xdf
      +              lock    add     DWORD PTR [rsp-0x4],0x0
      +              mov     rax,QWORD PTR [rax]
      +              test    al,0x8
                   ↓ je      97
      -              andl    $0x7fffffff,__preempt_count
      -        97: ← retq
      -              mov     %gs:0x17bc0,%rax
      -              lock    orb     $0x20,0x2(%rax)
      -              mov     (%rax),%rax
      -              test    $0x8,%al
      +              and     DWORD PTR gs:[rip+0x7e548509],0x7fffffff
      +        97:   ret
      +              mov     rax,QWORD PTR gs:0x17bc0
      +              lock    or      BYTE PTR [rax+0x2],0x20
      +              mov     rax,QWORD PTR [rax]
      +              test    al,0x8
                   ↑ jne     71
      -            ↑ jmpq    2d
      +            ↑ jmp     2d
      #
    Requested-by: default avatarMatt P. Dziubinski <matdzb@gmail.com>
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Ian Rogers <irogers@google.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    bbe54468
perf-config.txt 22 KB