mirror of https://gitee.com/openkylin/linux.git
perf c2c: Add local variables for output metrics
This patch adds several local variables: "cl_output": pointer for outputting single cache line metrics; "output_str": pointer for outputting cache line metrics; "sort_str": pointer to the sorting metrics. This can improve readability for the code and it's more flexible when later extend to different strings for the output metrics. Signed-off-by: Leo Yan <leo.yan@linaro.org> Acked-by: Jiri Olsa <jolsa@redhat.com> Acked-by: Namhyung Kim <namhyung@kernel.org> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Arnaldo Carvalho de Melo <acme@kernel.org> Cc: David Ahern <dsahern@gmail.com> Cc: Don Zickus <dzickus@redhat.com> Cc: Ingo Molnar <mingo@redhat.com> Cc: Joe Mario <jmario@redhat.com> Cc: Joe Perches <joe@perches.com> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Peter Zijlstra <peterz@infradead.org> Link: https://lore.kernel.org/r/20210114154646.209024-7-leo.yan@linaro.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
f3d0a551db
commit
0998d96048
|
@ -2199,16 +2199,17 @@ static void print_pareto(FILE *out)
|
|||
struct perf_hpp_list hpp_list;
|
||||
struct rb_node *nd;
|
||||
int ret;
|
||||
const char *cl_output;
|
||||
|
||||
cl_output = "cl_num,"
|
||||
"cl_rmt_hitm,"
|
||||
"cl_lcl_hitm,"
|
||||
"cl_stores_l1hit,"
|
||||
"cl_stores_l1miss,"
|
||||
"dcacheline";
|
||||
|
||||
perf_hpp_list__init(&hpp_list);
|
||||
ret = hpp_list__parse(&hpp_list,
|
||||
"cl_num,"
|
||||
"cl_rmt_hitm,"
|
||||
"cl_lcl_hitm,"
|
||||
"cl_stores_l1hit,"
|
||||
"cl_stores_l1miss,"
|
||||
"dcacheline",
|
||||
NULL);
|
||||
ret = hpp_list__parse(&hpp_list, cl_output, NULL);
|
||||
|
||||
if (WARN_ONCE(ret, "failed to setup sort entries\n"))
|
||||
return;
|
||||
|
@ -2752,6 +2753,7 @@ static int perf_c2c__report(int argc, const char **argv)
|
|||
OPT_END()
|
||||
};
|
||||
int err = 0;
|
||||
const char *output_str, *sort_str = NULL;
|
||||
|
||||
argc = parse_options(argc, argv, options, report_c2c_usage,
|
||||
PARSE_OPT_STOP_AT_NON_OPTION);
|
||||
|
@ -2828,24 +2830,29 @@ static int perf_c2c__report(int argc, const char **argv)
|
|||
goto out_mem2node;
|
||||
}
|
||||
|
||||
c2c_hists__reinit(&c2c.hists,
|
||||
"cl_idx,"
|
||||
"dcacheline,"
|
||||
"dcacheline_node,"
|
||||
"dcacheline_count,"
|
||||
"percent_hitm,"
|
||||
"tot_hitm,lcl_hitm,rmt_hitm,"
|
||||
"tot_recs,"
|
||||
"tot_loads,"
|
||||
"tot_stores,"
|
||||
"stores_l1hit,stores_l1miss,"
|
||||
"ld_fbhit,ld_l1hit,ld_l2hit,"
|
||||
"ld_lclhit,lcl_hitm,"
|
||||
"ld_rmthit,rmt_hitm,"
|
||||
"dram_lcl,dram_rmt",
|
||||
c2c.display == DISPLAY_TOT ? "tot_hitm" :
|
||||
c2c.display == DISPLAY_LCL ? "lcl_hitm" : "rmt_hitm"
|
||||
);
|
||||
output_str = "cl_idx,"
|
||||
"dcacheline,"
|
||||
"dcacheline_node,"
|
||||
"dcacheline_count,"
|
||||
"percent_hitm,"
|
||||
"tot_hitm,lcl_hitm,rmt_hitm,"
|
||||
"tot_recs,"
|
||||
"tot_loads,"
|
||||
"tot_stores,"
|
||||
"stores_l1hit,stores_l1miss,"
|
||||
"ld_fbhit,ld_l1hit,ld_l2hit,"
|
||||
"ld_lclhit,lcl_hitm,"
|
||||
"ld_rmthit,rmt_hitm,"
|
||||
"dram_lcl,dram_rmt";
|
||||
|
||||
if (c2c.display == DISPLAY_TOT)
|
||||
sort_str = "tot_hitm";
|
||||
else if (c2c.display == DISPLAY_RMT)
|
||||
sort_str = "rmt_hitm";
|
||||
else if (c2c.display == DISPLAY_LCL)
|
||||
sort_str = "lcl_hitm";
|
||||
|
||||
c2c_hists__reinit(&c2c.hists, output_str, sort_str);
|
||||
|
||||
ui_progress__init(&prog, c2c.hists.hists.nr_entries, "Sorting...");
|
||||
|
||||
|
|
Loading…
Reference in New Issue