Commit a43fbc41 authored by Leo Yan's avatar Leo Yan Committed by Zheng Zengkai
Browse files

perf c2c: Add local variables for output metrics

mainline inclusion
from mainline-v5.12-rc1
commit 0998d960
category: feature
bugzilla: https://gitee.com/openeuler/kernel/issues/I4NGPV


CVE: NA

-------------------------------------------------

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: default avatarLeo Yan <leo.yan@linaro.org>
Acked-by: default avatarJiri Olsa <jolsa@redhat.com>
Acked-by: default avatarNamhyung 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: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: default avatarWei Li <liwei391@huawei.com>
Reviewed-by: default avatarYang Jihong <yangjihong1@huawei.com>
Signed-off-by: default avatarZheng Zengkai <zhengzengkai@huawei.com>
parent 7c5e67a5
Loading
Loading
Loading
Loading
+33 −26
Original line number Diff line number Diff line
@@ -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;

	perf_hpp_list__init(&hpp_list);
	ret = hpp_list__parse(&hpp_list,
				"cl_num,"
	cl_output = "cl_num,"
		    "cl_rmt_hitm,"
		    "cl_lcl_hitm,"
		    "cl_stores_l1hit,"
		    "cl_stores_l1miss,"
				"dcacheline",
				NULL);
		    "dcacheline";

	perf_hpp_list__init(&hpp_list);
	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,8 +2830,7 @@ static int perf_c2c__report(int argc, const char **argv)
		goto out_mem2node;
	}

	c2c_hists__reinit(&c2c.hists,
			"cl_idx,"
	output_str = "cl_idx,"
		     "dcacheline,"
		     "dcacheline_node,"
		     "dcacheline_count,"
@@ -2842,10 +2843,16 @@ static int perf_c2c__report(int argc, const char **argv)
		     "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"
			);
		     "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...");