perf stat: Fix cpu check to use id.cpu.cpu in aggr_printout()
authorAthira Rajeev <atrajeev@linux.vnet.ibm.com>
Thu, 6 Oct 2022 11:42:25 +0000 (17:12 +0530)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Thu, 6 Oct 2022 17:50:55 +0000 (14:50 -0300)
'perf stat' has options to aggregate the counts in different modes like
per socket, per core etc. The function "aggr_printout" in
util/stat-display.c which is used to print the aggregates, has a check
for cpu in case of AGGR_NONE.

This check was originally using condition : "if (id.cpu.cpu > -1)". But
this got changed after commit df936cadfb58 ("perf stat: Add JSON output
option"), which added option to output json format for different
aggregation modes. After this commit, the check in "aggr_printout" is
using "if (id.core > -1)".

The old code was using "id.cpu.cpu > -1" while the new code is using
"id.core > -1". But since the value printed is id.cpu.cpu, fix this
check to use cpu and not core.

Suggested-by: Ian Rogers <irogers@google.com>
Suggested-by: James Clark <james.clark@arm.com>
Signed-off-by: Athira Jajeev <atrajeev@linux.vnet.ibm.com>
Tested-by: Ian Rogers <irogers@google.com>
Cc: Disha Goel <disgoel@linux.vnet.ibm.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Kajol Jain <kjain@linux.ibm.com>
Cc: Madhavan Srinivasan <maddy@linux.vnet.ibm.com>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Nageswara R Sastry <rnsastry@linux.ibm.com>
Cc: linuxppc-dev@lists.ozlabs.org
Link: https://lore.kernel.org/r/20221006114225.66303-1-atrajeev@linux.vnet.ibm.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/stat-display.c

index df26fb5eb072be9fa7587f5fa032190e5145eca4..5c47ee9963a7c04ca4419d5e240531eac8778d22 100644 (file)
@@ -168,7 +168,7 @@ static void aggr_printout(struct perf_stat_config *config,
                                        id.socket,
                                        id.die,
                                        id.core);
-                       } else if (id.core > -1) {
+                       } else if (id.cpu.cpu > -1) {
                                fprintf(config->output, "\"cpu\" : \"%d\", ",
                                        id.cpu.cpu);
                        }
@@ -179,7 +179,7 @@ static void aggr_printout(struct perf_stat_config *config,
                                        id.die,
                                        config->csv_output ? 0 : -3,
                                        id.core, config->csv_sep);
-                       } else if (id.core > -1) {
+                       } else if (id.cpu.cpu > -1) {
                                fprintf(config->output, "CPU%*d%s",
                                        config->csv_output ? 0 : -7,
                                        id.cpu.cpu, config->csv_sep);