lkml.org 
[lkml]   [2018]   [Nov]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH] perf top: Display the LBR stats in callchain entry
From
Date
Hi,

Any comments for this patch?

Thanks
Jin Yao

On 10/31/2018 7:06 PM, Jin Yao wrote:
> 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 has not supported 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: Jin Yao <yao.jin@linux.intel.com>
> ---
> tools/perf/builtin-top.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/tools/perf/builtin-top.c b/tools/perf/builtin-top.c
> index d21d875..7691b21 100644
> --- a/tools/perf/builtin-top.c
> +++ b/tools/perf/builtin-top.c
> @@ -1420,6 +1420,9 @@ int cmd_top(int argc, const char **argv)
> }
> }
>
> + if (opts->branch_stack && callchain_param.enabled)
> + symbol_conf.show_branchflag_count = true;
> +
> sort__mode = SORT_MODE__TOP;
> /* display thread wants entries to be collapsed in a different tree */
> perf_hpp_list.need_collapse = 1;
>

\
 
 \ /
  Last update: 2018-11-05 01:33    [W:0.193 / U:0.076 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site