perf stat: Fix a segfault with --per-cluster --metric-only
authorNamhyung Kim <namhyung@kernel.org>
Fri, 28 Jun 2024 00:06:03 +0000 (17:06 -0700)
committerNamhyung Kim <namhyung@kernel.org>
Fri, 28 Jun 2024 17:56:03 +0000 (10:56 -0700)
The new --per-cluster option was added recently but it forgot to update
the aggr_header fields which are used for --metric-only option.  And it
resulted in a segfault due to NULL string in fputs().

Fixes: cbc917a1b03b ("perf stat: Support per-cluster aggregation")
Reviewed-by: Yicong Yang <yangyicong@hisilicon.com>
Tested-by: Yicong Yang <yangyicong@hisilicon.com>
Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Link: https://lore.kernel.org/r/20240628000604.1296808-1-namhyung@kernel.org
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
tools/perf/util/stat-display.c

index 91d2f7f65df741562f569cbe51e3cb273b6de498..186305fd2d0efa23500f4fc194b614da466c58f4 100644 (file)
@@ -38,6 +38,7 @@
 static int aggr_header_lens[] = {
        [AGGR_CORE]     = 18,
        [AGGR_CACHE]    = 22,
+       [AGGR_CLUSTER]  = 20,
        [AGGR_DIE]      = 12,
        [AGGR_SOCKET]   = 6,
        [AGGR_NODE]     = 6,
@@ -49,6 +50,7 @@ static int aggr_header_lens[] = {
 static const char *aggr_header_csv[] = {
        [AGGR_CORE]     =       "core,cpus,",
        [AGGR_CACHE]    =       "cache,cpus,",
+       [AGGR_CLUSTER]  =       "cluster,cpus,",
        [AGGR_DIE]      =       "die,cpus,",
        [AGGR_SOCKET]   =       "socket,cpus,",
        [AGGR_NONE]     =       "cpu,",
@@ -60,6 +62,7 @@ static const char *aggr_header_csv[] = {
 static const char *aggr_header_std[] = {
        [AGGR_CORE]     =       "core",
        [AGGR_CACHE]    =       "cache",
+       [AGGR_CLUSTER]  =       "cluster",
        [AGGR_DIE]      =       "die",
        [AGGR_SOCKET]   =       "socket",
        [AGGR_NONE]     =       "cpu",