perf trace: Show zero value in STRARRAY
authorNamhyung Kim <namhyung@kernel.org>
Fri, 2 May 2025 20:40:56 +0000 (13:40 -0700)
committerNamhyung Kim <namhyung@kernel.org>
Tue, 24 Jun 2025 17:27:50 +0000 (10:27 -0700)
The STRARRAY macro is to print values in a pre-defined array.  But
sometimes it hides the value because it's 0.  The value of 0 can have a
meaning in this case so set 'show_zero' field.

For example, it can show CREATE_MAP cmd in the bpf syscall.

Acked-by: Howard Chu <howardchu95@gmail.com>
Link: https://lore.kernel.org/r/20250502204056.973977-1-namhyung@kernel.org
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
tools/perf/builtin-trace.c

index bf9b5d0630d3ddacbda102e02a18478609d69f5b..61650be8fccdb864e833c42574b61c8bebf64692 100644 (file)
@@ -1124,12 +1124,14 @@ static bool syscall_arg__strtoul_btf_type(char *bf __maybe_unused, size_t size _
 #define STRARRAY(name, array) \
          { .scnprintf  = SCA_STRARRAY, \
            .strtoul    = STUL_STRARRAY, \
-           .parm       = &strarray__##array, }
+           .parm       = &strarray__##array, \
+           .show_zero  = true, }
 
 #define STRARRAY_FLAGS(name, array) \
          { .scnprintf  = SCA_STRARRAY_FLAGS, \
            .strtoul    = STUL_STRARRAY_FLAGS, \
-           .parm       = &strarray__##array, }
+           .parm       = &strarray__##array, \
+           .show_zero  = true, }
 
 #include "trace/beauty/eventfd.c"
 #include "trace/beauty/futex_op.c"