]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
perf trace: Update beautifier script for clone flags
authorNamhyung Kim <namhyung@kernel.org>
Sun, 10 May 2026 20:23:46 +0000 (13:23 -0700)
committerNamhyung Kim <namhyung@kernel.org>
Thu, 14 May 2026 21:48:32 +0000 (14:48 -0700)
According to the change in the sched.h, update the script to generate
the flags array like below.  Note that '+1' is needed to detect bitmask
pattern at index 0.

  $ cat tools/perf/trace/beauty/generated/clone_flags_array.c
  static const char *clone_flags[] = {
   [ilog2(0x00000100) + 1] = "VM",
   [ilog2(0x00000200) + 1] = "FS",
   [ilog2(0x00000400) + 1] = "FILES",
   [ilog2(0x00000800) + 1] = "SIGHAND",
   [ilog2(0x00001000) + 1] = "PIDFD",
   [ilog2(0x00002000) + 1] = "PTRACE",
   [ilog2(0x00004000) + 1] = "VFORK",
   [ilog2(0x00008000) + 1] = "PARENT",
   [ilog2(0x00010000) + 1] = "THREAD",
   [ilog2(0x00020000) + 1] = "NEWNS",
   [ilog2(0x00040000) + 1] = "SYSVSEM",
   [ilog2(0x00080000) + 1] = "SETTLS",
   [ilog2(0x00100000) + 1] = "PARENT_SETTID",
   [ilog2(0x00200000) + 1] = "CHILD_CLEARTID",
   [ilog2(0x00400000) + 1] = "DETACHED",
   [ilog2(0x00800000) + 1] = "UNTRACED",
   [ilog2(0x01000000) + 1] = "CHILD_SETTID",
   [ilog2(0x02000000) + 1] = "NEWCGROUP",
   [ilog2(0x04000000) + 1] = "NEWUTS",
   [ilog2(0x08000000) + 1] = "NEWIPC",
   [ilog2(0x10000000) + 1] = "NEWUSER",
   [ilog2(0x20000000) + 1] = "NEWPID",
   [ilog2(0x40000000) + 1] = "NEWNET",
   [ilog2(0x80000000) + 1] = "IO",
   [ilog2(0x00000080) + 1] = "NEWTIME",
   [32 + 1] = "CLEAR_SIGHAND",
   [33 + 1] = "INTO_CGROUP",
   [34 + 1] = "AUTOREAP",
   [35 + 1] = "NNP",
   [36 + 1] = "PIDFD_AUTOKILL",
   [37 + 1] = "EMPTY_MNTNS",
  };

This was found by Sashiko during review.

Reviewed-by: Ian Rogers <irogers@google.com>
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
tools/perf/trace/beauty/clone.sh

index 18b6c0d75693721d3c50b3aebfce5655536336b5..98cb1f8d4a6ffd6230d60500eaa36cafe7fcb9b6 100755 (executable)
@@ -14,4 +14,8 @@ regex='^[[:space:]]*#[[:space:]]*define[[:space:]]+CLONE_([^_]+[[:alnum:]_]+)[[:
 grep -E $regex ${linux_sched} | \
        sed -r "s/$regex/\2 \1/g"       | \
        xargs printf "\t[ilog2(%s) + 1] = \"%s\",\n"
+regex='^[[:space:]]*#[[:space:]]*define[[:space:]]+CLONE_([^_]+[[:alnum:]_]+)[[:space:]]+\(1ULL[[:space:]]*<<[[:space:]]*([[:digit:]]+)\)[[:space:]]*.*'
+grep -E $regex ${linux_sched} | \
+       sed -r "s/$regex/\2 \1/g"       | \
+       xargs printf "\t[%s + 1] = \"%s\",\n"
 printf "};\n"