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....@linaro.org>
Acked-by: Jiri Olsa <jo...@redhat.com>
---
 tools/perf/builtin-c2c.c | 59 ++++++++++++++++++++++------------------
 1 file changed, 33 insertions(+), 26 deletions(-)

diff --git a/tools/perf/builtin-c2c.c b/tools/perf/builtin-c2c.c
index fe811b8e02bb..1c5f0f8f483a 100644
--- a/tools/perf/builtin-c2c.c
+++ b/tools/perf/builtin-c2c.c
@@ -2206,16 +2206,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;
@@ -2759,6 +2760,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);
@@ -2835,24 +2837,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...");
 
-- 
2.25.1

Reply via email to