• Jin Yao's avatar
    perf top: Display the LBR stats in callchain entry · 590ac60d
    Jin Yao authored
    'perf report' has supported the displaying of LBR stats (such as cycles,
    predicted%) in callchain entry.
    
    For example:
    
      $ perf report --branch-history --stdio
    
      --1.01%--intel_idle mwait.h:29
                intel_idle cpufeature.h:164 (cycles:5)
                intel_idle cpufeature.h:164 (predicted:76.4%)
                intel_idle mwait.h:102 (cycles:41)
                intel_idle current.h:15
    
    While 'perf top' doesn't support that.
    
    For example:
    
      $ perf top -a -b --call-graph branch
    
      -   13.86%     0.23%  [kernel]		[k] __x86_indirect_thunk_rax
         - 13.65% __x86_indirect_thunk_rax
            + 1.69% do_syscall_64
            + 1.68% do_select
            + 1.41% ktime_get
            + 0.70% __schedule
            + 0.62% do_sys_poll
              0.58% __x86_indirect_thunk_rax
    
    Actually it's very easy to enable this feature in 'perf top'.
    
    With this patch, the result is:
    
      $ perf top -a -b --call-graph branch
    
      $ -   13.58%     0.00%  [kernel]		[k] __x86_indirect_thunk_rax
         $ - 13.57% __x86_indirect_thunk_rax (predicted:93.9%)
            $ + 1.78% do_select (cycles:2)
            $ + 1.68% perf_pmu_disable.part.99 (cycles:1)
            $ + 1.45% ___sys_recvmsg (cycles:25)
            $ + 0.81% unix_stream_sendmsg (cycles:18)
            $ + 0.80% ktime_get (cycles:400)
              $ 0.58% pick_next_task_fair (cycles:47)
            $ + 0.56% i915_request_retire (cycles:2)
            $ + 0.52% do_sys_poll (cycles:4)
    Signed-off-by: default avatarJin Yao <yao.jin@linux.intel.com>
    Tested-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Andi Kleen <ak@linux.intel.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Kan Liang <kan.liang@linux.intel.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Link: http://lkml.kernel.org/r/1540983995-20462-1-git-send-email-yao.jin@linux.intel.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    590ac60d
builtin-top.c 40.6 KB