• Arnaldo Carvalho de Melo's avatar
    perf beauty: Introduce scrape script for the 'statx' syscall 'mask' argument · f122b3d6
    Arnaldo Carvalho de Melo authored
    It was using the first variation on producing a string representation
    for a binary flag, one that used the system's stat.h and preprocessor
    tricks that had to be updated everytime a new flag was introduced.
    
    Use the more recent scrape script + strarray +
    strarray__scnprintf_flags() combo.
    
      $ tools/perf/trace/beauty/statx_mask.sh
      static const char *statx_mask[] = {
      	[ilog2(0x00000001) + 1] = "TYPE",
      	[ilog2(0x00000002) + 1] = "MODE",
      	[ilog2(0x00000004) + 1] = "NLINK",
      	[ilog2(0x00000008) + 1] = "UID",
      	[ilog2(0x00000010) + 1] = "GID",
      	[ilog2(0x00000020) + 1] = "ATIME",
      	[ilog2(0x00000040) + 1] = "MTIME",
      	[ilog2(0x00000080) + 1] = "CTIME",
      	[ilog2(0x00000100) + 1] = "INO",
      	[ilog2(0x00000200) + 1] = "SIZE",
      	[ilog2(0x00000400) + 1] = "BLOCKS",
      	[ilog2(0x00000800) + 1] = "BTIME",
      	[ilog2(0x00001000) + 1] = "MNT_ID",
      	[ilog2(0x00002000) + 1] = "DIOALIGN",
      	[ilog2(0x00004000) + 1] = "MNT_ID_UNIQUE",
      };
      $
    
    Now we need a copy of uapi/linux/stat.h from tools/include/ in the
    scrape only directory tools/perf/trace/beauty/include.
    Reviewed-by: default avatarIan Rogers <irogers@google.com>
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Link: https://lore.kernel.org/lkml/20240320193115.811899-3-acme@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    f122b3d6
statx.c 744 Bytes