<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in Build</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>ef238109 - perf build: Rename TEST_LOGS to SHELL_TEST_LOGS</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/tools/perf/trace/beauty/Build#ef238109</link>
        <description>perf build: Rename TEST_LOGS to SHELL_TEST_LOGSRename TEST_LOGS to SHELL_TEST_LOGS as later changes will add morekinds of test logs.Minor comment tweak in Makefile.perf as more than just test shelltests are checked.Reviewed-by: James Clark &lt;james.clark@linaro.org&gt;Signed-off-by: Ian Rogers &lt;irogers@google.com&gt;Link: https://lore.kernel.org/r/20250311213628.569562-3-irogers@google.comSigned-off-by: Namhyung Kim &lt;namhyung@kernel.org&gt;

            List of files:
            /linux-6.15/tools/perf/trace/beauty/Build</description>
        <pubDate>Tue, 11 Mar 2025 21:36:24 +0000</pubDate>
        <dc:creator>Ian Rogers &lt;irogers@google.com&gt;</dc:creator>
    </item>
<item>
        <title>2b8c43e7 - perf trace beauty: Add shellcheck to scripts</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/tools/perf/trace/beauty/Build#2b8c43e7</link>
        <description>perf trace beauty: Add shellcheck to scriptsAdd shell check to scripts generating perf trace lookup tables. Fixquoting issue in arch_errno_names.sh.Reviewed-by: James Clark &lt;james.clark@arm.com&gt;Signed-off-by: Ian Rogers &lt;irogers@google.com&gt;Cc: Adrian Hunter &lt;adrian.hunter@intel.com&gt;Cc: Alexander Shishkin &lt;alexander.shishkin@linux.intel.com&gt;Cc: Athira Rajeev &lt;atrajeev@linux.vnet.ibm.com&gt;Cc: Ingo Molnar &lt;mingo@redhat.com&gt;Cc: Jiri Olsa &lt;jolsa@kernel.org&gt;Cc: Kajol Jain &lt;kjain@linux.ibm.com&gt;Cc: Kan Liang &lt;kan.liang@linux.intel.com&gt;Cc: Mark Rutland &lt;mark.rutland@arm.com&gt;Cc: Namhyung Kim &lt;namhyung@kernel.org&gt;Cc: Oliver Upton &lt;oliver.upton@linux.dev&gt;Cc: Peter Zijlstra &lt;peterz@infradead.org&gt;Cc: Ravi Bangoria &lt;ravi.bangoria@amd.com&gt;Link: https://lore.kernel.org/r/20240409023216.2342032-5-irogers@google.comSigned-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;

            List of files:
            /linux-6.15/tools/perf/trace/beauty/Build</description>
        <pubDate>Tue, 09 Apr 2024 02:32:16 +0000</pubDate>
        <dc:creator>Ian Rogers &lt;irogers@google.com&gt;</dc:creator>
    </item>
<item>
        <title>3d6cfbaf - perf beauty: Introduce scrape script for various fs syscalls &apos;flags&apos; arguments</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/tools/perf/trace/beauty/Build#3d6cfbaf</link>
        <description>perf beauty: Introduce scrape script for various fs syscalls &apos;flags&apos; argumentsIt was using the first variation on producing a string representationfor a binary flag, one that used the system&apos;s fcntl.h and preprocessortricks 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/fs_at_flags.sh  static const char *fs_at_flags[] = {  	[ilog2(0x100) + 1] = &quot;SYMLINK_NOFOLLOW&quot;,  	[ilog2(0x200) + 1] = &quot;REMOVEDIR&quot;,  	[ilog2(0x400) + 1] = &quot;SYMLINK_FOLLOW&quot;,  	[ilog2(0x800) + 1] = &quot;NO_AUTOMOUNT&quot;,  	[ilog2(0x1000) + 1] = &quot;EMPTY_PATH&quot;,  	[ilog2(0x0000) + 1] = &quot;STATX_SYNC_AS_STAT&quot;,  	[ilog2(0x2000) + 1] = &quot;STATX_FORCE_SYNC&quot;,  	[ilog2(0x4000) + 1] = &quot;STATX_DONT_SYNC&quot;,  	[ilog2(0x8000) + 1] = &quot;RECURSIVE&quot;,  	[ilog2(0x80000000) + 1] = &quot;GETATTR_NOSEC&quot;,  };  $Now we need a copy of uapi/linux/fcntl.h from tools/include/ in thescrape only directory tools/perf/trace/beauty/include and will use thatfs_at_flags array for other fs syscalls.Reviewed-by: Ian Rogers &lt;irogers@google.com&gt;Cc: Adrian Hunter &lt;adrian.hunter@intel.com&gt;Cc: Jiri Olsa &lt;jolsa@kernel.org&gt;Cc: Namhyung Kim &lt;namhyung@kernel.org&gt;Link: https://lore.kernel.org/lkml/20240320193115.811899-2-acme@kernel.orgSigned-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;

            List of files:
            /linux-6.15/tools/perf/trace/beauty/Build</description>
        <pubDate>Tue, 19 Mar 2024 17:49:32 +0000</pubDate>
        <dc:creator>Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;</dc:creator>
    </item>
<item>
        <title>6ac73820 - perf trace: Add augmenter for clock_gettime&apos;s rqtp timespec arg</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/tools/perf/trace/beauty/Build#6ac73820</link>
        <description>perf trace: Add augmenter for clock_gettime&apos;s rqtp timespec argOne more before going the BTF way:  # perf trace -e /home/acme/git/perf/tools/perf/examples/bpf/augmented_raw_syscalls.o,*nanosleep         ? pool-gsd-smart/2893  ... [continued]: clock_nanosleep())    = 0         ? gpm/1042  ... [continued]: clock_nanosleep())    = 0     1.232 pool-gsd-smart/2893 clock_nanosleep(rqtp: { .tv_sec: 1, .tv_nsec: 0 }, rmtp: 0x7f64d7ffec50) ...     1.232 pool-gsd-smart/2893  ... [continued]: clock_nanosleep())    = 0   327.329 gpm/1042 clock_nanosleep(rqtp: { .tv_sec: 2, .tv_nsec: 0 }, rmtp: 0x7ffddfd1cf20) ...  1002.482 pool-gsd-smart/2893 clock_nanosleep(rqtp: { .tv_sec: 1, .tv_nsec: 0 }, rmtp: 0x7f64d7ffec50) = 0   327.329 gpm/1042  ... [continued]: clock_nanosleep())    = 0  2003.947 pool-gsd-smart/2893 clock_nanosleep(rqtp: { .tv_sec: 1, .tv_nsec: 0 }, rmtp: 0x7f64d7ffec50) ...  2003.947 pool-gsd-smart/2893  ... [continued]: clock_nanosleep())    = 0  2327.858 gpm/1042 clock_nanosleep(rqtp: { .tv_sec: 2, .tv_nsec: 0 }, rmtp: 0x7ffddfd1cf20) ...         ? crond/1384  ... [continued]: clock_nanosleep())    = 0  3005.382 pool-gsd-smart/2893 clock_nanosleep(rqtp: { .tv_sec: 1, .tv_nsec: 0 }, rmtp: 0x7f64d7ffec50) ...  3005.382 pool-gsd-smart/2893  ... [continued]: clock_nanosleep())    = 0  3675.633 crond/1384 clock_nanosleep(rqtp: { .tv_sec: 60, .tv_nsec: 0 }, rmtp: 0x7ffcc02b66b0) ...^C#Signed-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;

            List of files:
            /linux-6.15/tools/perf/trace/beauty/Build</description>
        <pubDate>Thu, 10 Nov 2022 18:30:10 +0000</pubDate>
        <dc:creator>Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;</dc:creator>
    </item>
<item>
        <title>646b3e2c - perf trace beauty: Add the glue for the autogenerated MSR arrays</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/tools/perf/trace/beauty/Build#646b3e2c</link>
        <description>perf trace beauty: Add the glue for the autogenerated MSR arraysWe need to wrap those autogenerated string arrays with thestrarrays__scnprintf() formatter, do it.Cc: Adrian Hunter &lt;adrian.hunter@intel.com&gt;Cc: Brendan Gregg &lt;brendan.d.gregg@gmail.com&gt;Cc: Jiri Olsa &lt;jolsa@kernel.org&gt;Cc: Luis Cl&#225;udio Gon&#231;alves &lt;lclaudio@redhat.com&gt;Cc: Namhyung Kim &lt;namhyung@kernel.org&gt;Link: https://lkml.kernel.org/n/tip-wqjz4kwi4a0ot6lsis3kc65j@git.kernel.orgSigned-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;

            List of files:
            /linux-6.15/tools/perf/trace/beauty/Build</description>
        <pubDate>Mon, 07 Oct 2019 18:52:19 +0000</pubDate>
        <dc:creator>Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;</dc:creator>
    </item>
<item>
        <title>a9a187a7 - perf trace: Beautify &apos;sync_file_range&apos; arguments</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/tools/perf/trace/beauty/Build#a9a187a7</link>
        <description>perf trace: Beautify &apos;sync_file_range&apos; argumentsUse existing beautifiers for the first arg, fd, assigned using theheuristic that looks for syscall arg names and associates SCA_FD with&apos;fd&apos; named argumes, and wire up the recently introduced sync_file_rangeflags table generator.Now it should be possible to just use:   perf trace -e sync_file_rangeAs root and see all sync_file_range syscalls with its args beautified.  Doing a syscall strace like session looking for this syscall, then run  postgresql&apos;s initdb command:  # perf trace -e sync_file_range  &lt;SNIP&gt;  initdb/1332 sync_file_range(6&lt;/var/lib/pgsql/data/global/1260_fsm&gt;, 0, 0, SYNC_FILE_RANGE_WRITE) = 0  initdb/1332 sync_file_range(6&lt;/var/lib/pgsql/data/global/1260_fsm&gt;, 0, 0, SYNC_FILE_RANGE_WRITE) = 0  initdb/1332 sync_file_range(5&lt;/var/lib/pgsql/data/global&gt;, 0, 0, SYNC_FILE_RANGE_WRITE) = 0  initdb/1332 sync_file_range(5&lt;/var/lib/pgsql/data/global&gt;, 0, 0, SYNC_FILE_RANGE_WRITE) = 0  initdb/1332 sync_file_range(5&lt;/var/lib/pgsql/data/global&gt;, 0, 0, SYNC_FILE_RANGE_WRITE) = 0  initdb/1332 sync_file_range(5&lt;/var/lib/pgsql/data/global&gt;, 0, 0, SYNC_FILE_RANGE_WRITE) = 0  initdb/1332 sync_file_range(5&lt;/var/lib/pgsql/data/global&gt;, 0, 0, SYNC_FILE_RANGE_WRITE) = 0  initdb/1332 sync_file_range(5&lt;/var/lib/pgsql/data/global&gt;, 0, 0, SYNC_FILE_RANGE_WRITE) = 0  initdb/1332 sync_file_range(5&lt;/var/lib/pgsql/data/global&gt;, 0, 0, SYNC_FILE_RANGE_WRITE) = 0  initdb/1332 sync_file_range(5&lt;/var/lib/pgsql/data/global&gt;, 0, 0, SYNC_FILE_RANGE_WRITE) = 0  initdb/1332 sync_file_range(7&lt;/var/lib/pgsql/data/base/1/2682&gt;, 0, 0, SYNC_FILE_RANGE_WRITE) = 0  initdb/1332 sync_file_range(6&lt;/var/lib/pgsql/data/global/1260_fsm&gt;, 0, 0, SYNC_FILE_RANGE_WRITE) = 0  initdb/1332 sync_file_range(7&lt;/var/lib/pgsql/data/base/1/2682&gt;, 0, 0, SYNC_FILE_RANGE_WRITE) = 0  initdb/1332 sync_file_range(6&lt;/var/lib/pgsql/data/global/1260_fsm&gt;, 0, 0, SYNC_FILE_RANGE_WRITE) = 0  initdb/1332 sync_file_range(5&lt;/var/lib/pgsql/data/global&gt;, 0, 0, SYNC_FILE_RANGE_WRITE) = 0  initdb/1332 sync_file_range(5&lt;/var/lib/pgsql/data/global&gt;, 0, 0, SYNC_FILE_RANGE_WRITE) = 0  initdb/1332 sync_file_range(5&lt;/var/lib/pgsql/data/global&gt;, 0, 0, SYNC_FILE_RANGE_WRITE) = 0  initdb/1332 sync_file_range(5&lt;/var/lib/pgsql/data/global&gt;, 0, 0, SYNC_FILE_RANGE_WRITE) = 0  initdb/1332 sync_file_range(4&lt;/var/lib/pgsql/data&gt;, 0, 0, SYNC_FILE_RANGE_WRITE) = 0  initdb/1332 sync_file_range(4&lt;/var/lib/pgsql/data&gt;, 0, 0, SYNC_FILE_RANGE_WRITE) = 0  ^C  #Cc: Adrian Hunter &lt;adrian.hunter@intel.com&gt;Cc: Amir Goldstein &lt;amir73il@gmail.com&gt;Cc: Brendan Gregg &lt;brendan.d.gregg@gmail.com&gt;Cc: Jiri Olsa &lt;jolsa@kernel.org&gt;Cc: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;Cc: Luis Cl&#225;udio Gon&#231;alves &lt;lclaudio@redhat.com&gt;Cc: Namhyung Kim &lt;namhyung@kernel.org&gt;Link: https://lkml.kernel.org/n/tip-8tqy34xhpg8gwnaiv74xy93w@git.kernel.orgSigned-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;

            List of files:
            /linux-6.15/tools/perf/trace/beauty/Build</description>
        <pubDate>Wed, 22 May 2019 00:47:07 +0000</pubDate>
        <dc:creator>Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;</dc:creator>
    </item>
<item>
        <title>f6af0956 - perf trace: Beautify &apos;fsmount&apos; arguments</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/tools/perf/trace/beauty/Build#f6af0956</link>
        <description>perf trace: Beautify &apos;fsmount&apos; argumentsUse existing beautifiers for the first arg, fd, assigned using theheuristic that looks for syscall arg names and associates SCA_FD with&apos;fd&apos; named argumes, and wire up the recently introduced fsmountattr_flags table generator.Now it should be possible to just use:   perf trace -e fsmountAs root and see all fsmount syscalls with its args beautified.  # cat sys_fsmount.c  #define _GNU_SOURCE        /* See feature_test_macros(7) */  #include &lt;unistd.h&gt;  #include &lt;sys/syscall.h&gt;   /* For SYS_xxx definitions */  #define __NR_fsmount 432  #define MOUNT_ATTR_RDONLY	 0x00000001 /* Mount read-only */  #define MOUNT_ATTR_NOSUID	 0x00000002 /* Ignore suid and sgid bits */  #define MOUNT_ATTR_NODEV	 0x00000004 /* Disallow access to device special files */  #define MOUNT_ATTR_NOEXEC	 0x00000008 /* Disallow program execution */  #define MOUNT_ATTR__ATIME	 0x00000070 /* Setting on how atime should be updated */  #define MOUNT_ATTR_RELATIME	 0x00000000 /* - Update atime relative to mtime/ctime. */  #define MOUNT_ATTR_NOATIME	 0x00000010 /* - Do not update access times. */  #define MOUNT_ATTR_STRICTATIME 0x00000020 /* - Always perform atime updates */  #define MOUNT_ATTR_NODIRATIME	 0x00000080 /* Do not update directory access times */  static inline int sys_fsmount(int fs_fd, int flags, int attr_flags)  {  	syscall(__NR_fsmount, fs_fd, flags, attr_flags);  }  int main(int argc, char *argv[])  {  	int attr_flags = 0, fs_fd = 0;  	sys_fsmount(fs_fd++, 0, attr_flags);  	attr_flags |= MOUNT_ATTR_RDONLY;  	sys_fsmount(fs_fd++, 1, attr_flags);  	attr_flags |= MOUNT_ATTR_NOSUID;  	sys_fsmount(fs_fd++, 0, attr_flags);  	attr_flags |= MOUNT_ATTR_NODEV;  	sys_fsmount(fs_fd++, 1, attr_flags);  	attr_flags |= MOUNT_ATTR_NOEXEC;  	sys_fsmount(fs_fd++, 0, attr_flags);  	attr_flags |= MOUNT_ATTR_NOATIME;  	sys_fsmount(fs_fd++, 1, attr_flags);  	attr_flags |= MOUNT_ATTR_STRICTATIME;  	sys_fsmount(fs_fd++, 0, attr_flags);  	attr_flags |= MOUNT_ATTR_NODIRATIME;  	sys_fsmount(fs_fd++, 0, attr_flags);  	return 0;  }  #  # perf trace -e fsmount ./sys_fsmount  fsmount(0, 0, MOUNT_ATTR_RELATIME)      = -1 EINVAL (Invalid argument)  fsmount(1, FSMOUNT_CLOEXEC, MOUNT_ATTR_RDONLY|MOUNT_ATTR_RELATIME) = -1 EINVAL (Invalid argument)  fsmount(2, 0, MOUNT_ATTR_RDONLY|MOUNT_ATTR_NOSUID|MOUNT_ATTR_RELATIME) = -1 EINVAL (Invalid argument)  fsmount(3, FSMOUNT_CLOEXEC, MOUNT_ATTR_RDONLY|MOUNT_ATTR_NOSUID|MOUNT_ATTR_NODEV|MOUNT_ATTR_RELATIME) = -1 EBADF (Bad file descriptor)  fsmount(4, 0, MOUNT_ATTR_RDONLY|MOUNT_ATTR_NOSUID|MOUNT_ATTR_NODEV|MOUNT_ATTR_NOEXEC|MOUNT_ATTR_RELATIME) = -1 EBADF (Bad file descriptor)  fsmount(5, FSMOUNT_CLOEXEC, MOUNT_ATTR_RDONLY|MOUNT_ATTR_NOSUID|MOUNT_ATTR_NODEV|MOUNT_ATTR_NOEXEC|MOUNT_ATTR_NOATIME) = -1 EBADF (Bad file descriptor)  fsmount(6, 0, MOUNT_ATTR_RDONLY|MOUNT_ATTR_NOSUID|MOUNT_ATTR_NODEV|MOUNT_ATTR_NOEXEC|MOUNT_ATTR_NOATIME|MOUNT_ATTR_STRICTATIME) = -1 EINVAL (Invalid argument)  fsmount(7, 0, MOUNT_ATTR_RDONLY|MOUNT_ATTR_NOSUID|MOUNT_ATTR_NODEV|MOUNT_ATTR_NOEXEC|MOUNT_ATTR_NOATIME|MOUNT_ATTR_STRICTATIME|MOUNT_ATTR_NODIRATIME) = -1 EINVAL (Invalid argument)  #Cc: Adrian Hunter &lt;adrian.hunter@intel.com&gt;Cc: Al Viro &lt;viro@zeniv.linux.org.uk&gt;Cc: Brendan Gregg &lt;brendan.d.gregg@gmail.com&gt;Cc: Jiri Olsa &lt;jolsa@kernel.org&gt;Cc: Luis Cl&#225;udio Gon&#231;alves &lt;lclaudio@redhat.com&gt;Cc: Namhyung Kim &lt;namhyung@kernel.org&gt;Link: https://lkml.kernel.org/n/tip-w71uge0sfo6ns9uclhwtthca@git.kernel.orgSigned-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;

            List of files:
            /linux-6.15/tools/perf/trace/beauty/Build</description>
        <pubDate>Tue, 21 May 2019 19:34:03 +0000</pubDate>
        <dc:creator>Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;</dc:creator>
    </item>
<item>
        <title>693bd394 - perf trace: Beautify &apos;fspick&apos; arguments</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/tools/perf/trace/beauty/Build#693bd394</link>
        <description>perf trace: Beautify &apos;fspick&apos; argumentsUse existing beautifiers for the first 2 args (dfd, path) and wire upthe recently introduced fspick flags table generator.Now it should be possible to just use:   perf trace -e fspickAs root and see all move_mount syscalls with its args beautified, eitherusing the vfs_getname perf probe method or using theaugmented_raw_syscalls.c eBPF helper to get the pathnames, the otherargs should work in all cases, i.e. all that is needed can be obtaineddirectly from the raw_syscalls:sys_enter tracepoint args.  # cat sys_fspick.c  #define _GNU_SOURCE        /* See feature_test_macros(7) */  #include &lt;unistd.h&gt;  #include &lt;sys/syscall.h&gt;   /* For SYS_xxx definitions */  #include &lt;fcntl.h&gt;  #define __NR_fspick 433  #define FSPICK_CLOEXEC          0x00000001  #define FSPICK_SYMLINK_NOFOLLOW 0x00000002  #define FSPICK_NO_AUTOMOUNT     0x00000004  #define FSPICK_EMPTY_PATH       0x00000008  static inline int sys_fspick(int fd, const char *path, int flags)  {  	syscall(__NR_fspick, fd, path, flags);  }  int main(int argc, char *argv[])  {  	int flags = 0, fd = 0;  	open(&quot;/foo&quot;, 0);  	sys_fspick(fd++, &quot;/foo1&quot;, flags);  	flags |= FSPICK_CLOEXEC;  	sys_fspick(fd++, &quot;/foo2&quot;, flags);  	flags |= FSPICK_SYMLINK_NOFOLLOW;  	sys_fspick(fd++, &quot;/foo3&quot;, flags);  	flags |= FSPICK_NO_AUTOMOUNT;  	sys_fspick(fd++, &quot;/foo4&quot;, flags);  	flags |= FSPICK_EMPTY_PATH;  	return sys_fspick(fd++, &quot;/foo5&quot;, flags);  }  # perf trace -e fspick ./sys_fspick  LLVM: dumping /home/acme/git/perf/tools/perf/examples/bpf/augmented_raw_syscalls.o  fspick(0, &quot;/foo1&quot;, 0)                   = -1 ENOENT (No such file or directory)  fspick(1, &quot;/foo2&quot;, FSPICK_CLOEXEC)      = -1 ENOENT (No such file or directory)  fspick(2, &quot;/foo3&quot;, FSPICK_CLOEXEC|FSPICK_SYMLINK_NOFOLLOW) = -1 ENOENT (No such file or directory)  fspick(3, &quot;/foo4&quot;, FSPICK_CLOEXEC|FSPICK_SYMLINK_NOFOLLOW|FSPICK_NO_AUTOMOUNT) = -1 ENOENT (No such file or directory)  fspick(4, &quot;/foo5&quot;, FSPICK_CLOEXEC|FSPICK_SYMLINK_NOFOLLOW|FSPICK_NO_AUTOMOUNT|FSPICK_EMPTY_PATH) = -1 ENOENT (No such file or directory)  #Cc: Adrian Hunter &lt;adrian.hunter@intel.com&gt;Cc: Al Viro &lt;viro@zeniv.linux.org.uk&gt;Cc: Brendan Gregg &lt;brendan.d.gregg@gmail.com&gt;Cc: Jiri Olsa &lt;jolsa@kernel.org&gt;Cc: Luis Cl&#225;udio Gon&#231;alves &lt;lclaudio@redhat.com&gt;Cc: Namhyung Kim &lt;namhyung@kernel.org&gt;Link: https://lkml.kernel.org/n/tip-erau5xjtt8wvgnhvdbchstuk@git.kernel.orgSigned-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;

            List of files:
            /linux-6.15/tools/perf/trace/beauty/Build</description>
        <pubDate>Mon, 20 May 2019 19:24:15 +0000</pubDate>
        <dc:creator>Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;</dc:creator>
    </item>
<item>
        <title>566e3022 - perf trace: Beautify &apos;move_mount&apos; arguments</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/tools/perf/trace/beauty/Build#566e3022</link>
        <description>perf trace: Beautify &apos;move_mount&apos; argumentsUse existing beautifiers for the first 4 args (to/from fds, pathnames)and wire up the recently introduced move_mount flags table generator.Now it should be possible to just use:      perf trace -e move_mountAs root and see all move_mount syscalls with its args beautified, exceptfor the filenames, that need work in the augmented_raw_syscalls.c eBPFhelper to pass more than one, see comment in theaugmented_raw_syscalls.c source code, the other args should work in allcases, i.e. all that is needed can be obtained directly from theraw_syscalls:sys_enter tracepoint args.Running without the strace &quot;skin&quot; (.perfconfig setting output formattingswitches to look like strace output + BPF to collect strings, as westill need to support collecting multiple string args for the samesyscall, like with move_mount):  # cat sys_move_mount.c  #define _GNU_SOURCE         /* See feature_test_macros(7) */  #include &lt;unistd.h&gt;  #include &lt;sys/syscall.h&gt;   /* For SYS_xxx definitions */  #define __NR_move_mount 429  #define MOVE_MOUNT_F_SYMLINKS		0x00000001 /* Follow symlinks on from path */  #define MOVE_MOUNT_F_AUTOMOUNTS		0x00000002 /* Follow automounts on from path */  #define MOVE_MOUNT_F_EMPTY_PATH		0x00000004 /* Empty from path permitted */  #define MOVE_MOUNT_T_SYMLINKS		0x00000010 /* Follow symlinks on to path */  #define MOVE_MOUNT_T_AUTOMOUNTS		0x00000020 /* Follow automounts on to path */  #define MOVE_MOUNT_T_EMPTY_PATH		0x00000040 /* Empty to path permitted */  static inline int sys_move_mount(int from_fd, const char *from_pathname,  				 int to_fd, const char *to_pathname,  				 int flags)  {  	  syscall(__NR_move_mount, from_fd, from_pathname, to_fd, to_pathname, flags);  }  int main(int argc, char *argv[])  {  	  int flags = 0, from_fd = 0, to_fd = 100;  	  sys_move_mount(from_fd++, &quot;/foo&quot;, to_fd++, &quot;bar&quot;, flags);  	  flags |= MOVE_MOUNT_F_SYMLINKS;  	  sys_move_mount(from_fd++, &quot;/foo1&quot;, to_fd++, &quot;bar1&quot;, flags);          flags |= MOVE_MOUNT_F_AUTOMOUNTS;  	  sys_move_mount(from_fd++, &quot;/foo2&quot;, to_fd++, &quot;bar2&quot;, flags);          flags |= MOVE_MOUNT_F_EMPTY_PATH;  	  sys_move_mount(from_fd++, &quot;/foo3&quot;, to_fd++, &quot;bar3&quot;, flags);          flags |= MOVE_MOUNT_T_SYMLINKS;  	  sys_move_mount(from_fd++, &quot;/foo4&quot;, to_fd++, &quot;bar4&quot;, flags);          flags |= MOVE_MOUNT_T_AUTOMOUNTS;  	  sys_move_mount(from_fd++, &quot;/foo5&quot;, to_fd++, &quot;bar5&quot;, flags);          flags |= MOVE_MOUNT_T_EMPTY_PATH;  	  return sys_move_mount(from_fd++, &quot;/foo6&quot;, to_fd++, &quot;bar6&quot;, flags);  }  # mv ~/.perfconfig  ~/.perfconfig.OFF  # perf trace -e move_mount ./sys_move_mount       0.000 ( 0.009 ms): sys_move_mount/28971 move_mount(from_pathname: 0x402010, to_dfd: 100, to_pathname: 0x402015) = -1 ENOENT (No such file or directory)       0.011 ( 0.003 ms): sys_move_mount/28971 move_mount(from_dfd: 1, from_pathname: 0x40201e, to_dfd: 101, to_pathname: 0x402019, flags: F_SYMLINKS) = -1 ENOENT (No such file or directory)       0.016 ( 0.002 ms): sys_move_mount/28971 move_mount(from_dfd: 2, from_pathname: 0x402029, to_dfd: 102, to_pathname: 0x402024, flags: F_SYMLINKS|F_AUTOMOUNTS) = -1 ENOENT (No such file or directory)       0.020 ( 0.002 ms): sys_move_mount/28971 move_mount(from_dfd: 3, from_pathname: 0x402034, to_dfd: 103, to_pathname: 0x40202f, flags: F_SYMLINKS|F_AUTOMOUNTS|F_EMPTY_PATH) = -1 ENOENT (No such file or directory)       0.023 ( 0.002 ms): sys_move_mount/28971 move_mount(from_dfd: 4, from_pathname: 0x40203f, to_dfd: 104, to_pathname: 0x40203a, flags: F_SYMLINKS|F_AUTOMOUNTS|F_EMPTY_PATH|T_SYMLINKS) = -1 ENOENT (No such file or directory)       0.027 ( 0.002 ms): sys_move_mount/28971 move_mount(from_dfd: 5, from_pathname: 0x40204a, to_dfd: 105, to_pathname: 0x402045, flags: F_SYMLINKS|F_AUTOMOUNTS|F_EMPTY_PATH|T_SYMLINKS|T_AUTOMOUNTS) = -1 ENOENT (No such file or directory)       0.031 ( 0.017 ms): sys_move_mount/28971 move_mount(from_dfd: 6, from_pathname: 0x402055, to_dfd: 106, to_pathname: 0x402050, flags: F_SYMLINKS|F_AUTOMOUNTS|F_EMPTY_PATH|T_SYMLINKS|T_AUTOMOUNTS|T_EMPTY_PATH) = -1 ENOENT (No such file or directory)  #Cc: Adrian Hunter &lt;adrian.hunter@intel.com&gt;Cc: Al Viro &lt;viro@zeniv.linux.org.uk&gt;Cc: Brendan Gregg &lt;brendan.d.gregg@gmail.com&gt;Cc: David Howells &lt;dhowells@redhat.com&gt;Cc: Jiri Olsa &lt;jolsa@kernel.org&gt;Cc: Namhyung Kim &lt;namhyung@kernel.org&gt;Link: https://lkml.kernel.org/n/tip-83rim8g4k0s4gieieh5nnlck@git.kernel.orgSigned-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;

            List of files:
            /linux-6.15/tools/perf/trace/beauty/Build</description>
        <pubDate>Mon, 20 May 2019 17:58:03 +0000</pubDate>
        <dc:creator>Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;</dc:creator>
    </item>
<item>
        <title>5ff32883 - perf tools: Rename build libperf to perf</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/tools/perf/trace/beauty/Build#5ff32883</link>
        <description>perf tools: Rename build libperf to perfRename build libperf to perf, because it&apos;s used to build perf.The libperf build object name will be used for libperf library.Signed-off-by: Jiri Olsa &lt;jolsa@kernel.org&gt;Cc: Alexander Shishkin &lt;alexander.shishkin@linux.intel.com&gt;Cc: Namhyung Kim &lt;namhyung@kernel.org&gt;Cc: Peter Zijlstra &lt;peterz@infradead.org&gt;Link: http://lkml.kernel.org/r/20190213123246.4015-4-jolsa@kernel.orgSigned-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;

            List of files:
            /linux-6.15/tools/perf/trace/beauty/Build</description>
        <pubDate>Wed, 13 Feb 2019 12:32:39 +0000</pubDate>
        <dc:creator>Jiri Olsa &lt;jolsa@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>fb7068e7 - perf trace beauty: Beautify arch_prctl()&apos;s arguments</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/tools/perf/trace/beauty/Build#fb7068e7</link>
        <description>perf trace beauty: Beautify arch_prctl()&apos;s argumentsThis actually so far, AFAIK is available only in x86, so the code wasput in place with x86 prefixes, in arches where it is not available itwill just not be called, so no further mechanisms are needed at thistime.Later, when other arches wire this up, we&apos;ll just look at the uname(live sessions) or perf_env data in the perf.data header to auto-wirethe right beautifier.With this the output is the same as produced by &apos;strace&apos; when used withthe following ~/.perfconfig:  # cat ~/.perfconfig  [llvm]	dump-obj = true  [trace]	  add_events = /home/acme/git/perf/tools/perf/examples/bpf/augmented_raw_syscalls.o	  show_zeros = yes	  show_duration = no	  no_inherit = yes	  show_timestamp = no	  show_arg_names = no	  args_alignment = -40	  show_prefix = yes  #And, on fedora 29, since the string tables are generated from the kernelsources, we don&apos;t know about 0x3001, just like strace:  --- /tmp/strace 2018-12-17 11:22:08.707586721 -0300  +++ /tmp/trace  2018-12-18 11:11:32.037512729 -0300  @@ -1,49 +1,49 @@  -arch_prctl(0x3001 /* ARCH_??? */, 0x7ffc8a92dc80) = -1 EINVAL (Invalid argument)  +arch_prctl(0x3001 /* ARCH_??? */, 0x7ffe4eb93ae0) = -1 EINVAL (Invalid argument)  -arch_prctl(ARCH_SET_FS, 0x7faf6700f540) = 0  +arch_prctl(ARCH_SET_FS, 0x7fb507364540) = 0And that seems to be related to the CET/Shadow Stack feature, thatuserland in Fedora 29 (glibc 2.28) are querying the kernel about, that0x3001 seems to be ARCH_CET_STATUS, I&apos;ll check the situation and testwith a fedora 29 kernel to see if the other codes are used.A diff that ignores the different pointers for different runs needs tobe put in place in the upcoming regression tests comparing &apos;perf trace&apos;soutput to strace&apos;s.Cc: Adrian Hunter &lt;adrian.hunter@intel.com&gt;Cc: Jiri Olsa &lt;jolsa@kernel.org&gt;Cc: Luis Cl&#225;udio Gon&#231;alves &lt;lclaudio@redhat.com&gt;Cc: Namhyung Kim &lt;namhyung@kernel.org&gt;Cc: Wang Nan &lt;wangnan0@huawei.com&gt;Link: https://lkml.kernel.org/n/tip-73a9prs8ktkrt97trtdmdjs8@git.kernel.orgSigned-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;

            List of files:
            /linux-6.15/tools/perf/trace/beauty/Build</description>
        <pubDate>Tue, 18 Dec 2018 14:05:56 +0000</pubDate>
        <dc:creator>Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;</dc:creator>
    </item>
<item>
        <title>ca7ff2c8 - perf trace: Beautify renameat2&apos;s flags argument</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/tools/perf/trace/beauty/Build#ca7ff2c8</link>
        <description>perf trace: Beautify renameat2&apos;s flags argument  # strace -e renameat2 -f perf trace -e rename* mv c /tmp  strace: Process 10824 attached  [pid 10824] renameat2(AT_FDCWD, &quot;c&quot;, AT_FDCWD, &quot;/tmp&quot;, RENAME_NOREPLACE) = -1 EXDEV (Invalid cross-device link)  [pid 10824] renameat2(AT_FDCWD, &quot;c&quot;, AT_FDCWD, &quot;/tmp/c&quot;, RENAME_NOREPLACE) = -1 EEXIST (File exists)       1.857 ( 0.008 ms): mv/10824 renameat2(olddfd: CWD, oldname: 0x7ffc72ff3d81, newdfd: CWD, newname: 0x7ffc72ff3d83, flags: NOREPLACE) = -1 EXDEV Invalid cross-device link       2.002 ( 0.006 ms): mv/10824 renameat2(olddfd: CWD, oldname: 0x7ffc72ff3d81, newdfd: CWD, newname: 0x55ad609efcc0, flags: NOREPLACE) = -1 EEXIST File exists  mv: &apos;c&apos; and &apos;/tmp/c&apos; are the same file  [pid 10824] +++ exited with 1 +++  --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=10824, si_uid=0, si_status=1, si_utime=0, si_stime=0} ---  +++ exited with 0 +++  #Cc: Adrian Hunter &lt;adrian.hunter@intel.com&gt;Cc: Jiri Olsa &lt;jolsa@kernel.org&gt;Cc: Namhyung Kim &lt;namhyung@kernel.org&gt;Link: https://lkml.kernel.org/n/tip-glyt6nzlt1yx56m5bshy6g83@git.kernel.orgSigned-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;

            List of files:
            /linux-6.15/tools/perf/trace/beauty/Build</description>
        <pubDate>Tue, 11 Dec 2018 13:39:30 +0000</pubDate>
        <dc:creator>Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;</dc:creator>
    </item>
<item>
        <title>73d141ad - perf trace beauty: Beautify mount/umount&apos;s &apos;flags&apos; argument</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/tools/perf/trace/beauty/Build#73d141ad</link>
        <description>perf trace beauty: Beautify mount/umount&apos;s &apos;flags&apos; argument  # trace -e mount mount -o ro -t debugfs nodev /mnt     0.000 ( 1.040 ms): mount/27235 mount(dev_name: 0x5601cc8c64e0, dir_name: 0x5601cc8c6500, type: 0x5601cc8c6480, flags: RDONLY) = 0  # trace -e mount mount -o remount,relatime -t debugfs nodev /mnt     0.000 ( 2.946 ms): mount/27262 mount(dev_name: 0x55f4a73d64e0, dir_name: 0x55f4a73d6500, type: 0x55f4a73d6480, flags: REMOUNT|RELATIME) = 0  # trace -e mount mount -o remount,strictatime -t debugfs nodev /mnt     0.000 ( 2.934 ms): mount/27265 mount(dev_name: 0x5617f71d94e0, dir_name: 0x5617f71d9500, type: 0x5617f71d9480, flags: REMOUNT|STRICTATIME) = 0  # trace -e mount mount -o remount,suid,silent -t debugfs nodev /mnt     0.000 ( 0.049 ms): mount/27273 mount(dev_name: 0x55ad65df24e0, dir_name: 0x55ad65df2500, type: 0x55ad65df2480, flags: REMOUNT|SILENT) = 0  # trace -e mount mount -o remount,rw,sync,lazytime -t debugfs nodev /mnt     0.000 ( 2.684 ms): mount/27281 mount(dev_name: 0x561216055530, dir_name: 0x561216055550, type: 0x561216055510, flags: SYNCHRONOUS|REMOUNT|LAZYTIME) = 0  # trace -e mount mount -o remount,dirsync -t debugfs nodev /mnt     0.000 ( 3.512 ms): mount/27314 mount(dev_name: 0x55c4e7188480, dir_name: 0x55c4e7188530, type: 0x55c4e71884a0, flags: REMOUNT|DIRSYNC, data: 0x55c4e71884e0) = 0  #Cc: Adrian Hunter &lt;adrian.hunter@intel.com&gt;Cc: Benjamin Peterson &lt;benjamin@python.org&gt;Cc: David Ahern &lt;dsahern@gmail.com&gt;Cc: Jiri Olsa &lt;jolsa@kernel.org&gt;Cc: Namhyung Kim &lt;namhyung@kernel.org&gt;Cc: Wang Nan &lt;wangnan0@huawei.com&gt;Link: https://lkml.kernel.org/n/tip-i5ncao73c0bd02qprgrq6wb9@git.kernel.orgSigned-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;

            List of files:
            /linux-6.15/tools/perf/trace/beauty/Build</description>
        <pubDate>Thu, 25 Oct 2018 18:18:06 +0000</pubDate>
        <dc:creator>Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;</dc:creator>
    </item>
<item>
        <title>d5a7e661 - perf trace augmented_syscalls: Augment connect&apos;s &apos;sockaddr&apos; arg</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/tools/perf/trace/beauty/Build#d5a7e661</link>
        <description>perf trace augmented_syscalls: Augment connect&apos;s &apos;sockaddr&apos; argAs the first example of augmenting something other than a &apos;filename&apos;,augment the &apos;struct sockaddr&apos; argument for the &apos;connect&apos; syscall:  # perf trace -e tools/perf/examples/bpf/augmented_syscalls.c ssh -6 fedorapeople.org     0.000 ssh/29669 connect(fd: 3, uservaddr: { .family: LOCAL, path: /var/run/nscd/socket }, addrlen: 110)     0.042 ssh/29669 connect(fd: 3, uservaddr: { .family: LOCAL, path: /var/run/nscd/socket }, addrlen: 110)     1.329 ssh/29669 connect(fd: 3, uservaddr: { .family: LOCAL, path: /var/run/nscd/socket }, addrlen: 110)     1.362 ssh/29669 connect(fd: 3, uservaddr: { .family: LOCAL, path: /var/run/nscd/socket }, addrlen: 110)     1.458 ssh/29669 connect(fd: 3, uservaddr: { .family: LOCAL, path: /var/run/nscd/socket }, addrlen: 110)     1.478 ssh/29669 connect(fd: 3, uservaddr: { .family: LOCAL, path: /var/run/nscd/socket }, addrlen: 110)     1.683 ssh/29669 connect(fd: 3&lt;socket:[125942]&gt;, uservaddr: { .family: INET, port: 53, addr: 192.168.43.1 }, addrlen: 16)     4.710 ssh/29669 connect(fd: 3&lt;socket:[125942]&gt;, uservaddr: { .family: INET6, port: 22, addr: 2610:28:3090:3001:5054:ff:fea7:9474 }, addrlen: 28)  root@fedorapeople.org: Permission denied (publickey).  #This is still just augmenting the syscalls:sys_enter_connect part, laterwe&apos;ll wire this up to augment the enter+exit combo, like in thetradicional &apos;perf trace&apos; and &apos;strace&apos; outputs.Cc: Adrian Hunter &lt;adrian.hunter@intel.com&gt;Cc: David Ahern &lt;dsahern@gmail.com&gt;Cc: Jiri Olsa &lt;jolsa@kernel.org&gt;Cc: Namhyung Kim &lt;namhyung@kernel.org&gt;Cc: Wang Nan &lt;wangnan0@huawei.com&gt;Link: https://lkml.kernel.org/n/tip-s7l541cbiqb22ifio6z7dpf6@git.kernel.orgSigned-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;

            List of files:
            /linux-6.15/tools/perf/trace/beauty/Build</description>
        <pubDate>Tue, 28 Aug 2018 19:24:44 +0000</pubDate>
        <dc:creator>Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;</dc:creator>
    </item>
<item>
        <title>03aeb6c8 - perf trace beauty: Add beautifiers for &apos;socket&apos;&apos;s &apos;protocol&apos; arg</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/tools/perf/trace/beauty/Build#03aeb6c8</link>
        <description>perf trace beauty: Add beautifiers for &apos;socket&apos;&apos;s &apos;protocol&apos; argIt&apos;ll be wired to &apos;perf trace&apos; in the next cset.Cc: Adrian Hunter &lt;adrian.hunter@intel.com&gt;Cc: David Ahern &lt;dsahern@gmail.com&gt;Cc: Jiri Olsa &lt;jolsa@kernel.org&gt;Cc: Namhyung Kim &lt;namhyung@kernel.org&gt;Cc: Wang Nan &lt;wangnan0@huawei.com&gt;Link: https://lkml.kernel.org/n/tip-2i9vkvm1ik8yu4hgjmxhsyjv@git.kernel.orgSigned-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;

            List of files:
            /linux-6.15/tools/perf/trace/beauty/Build</description>
        <pubDate>Thu, 26 Jul 2018 12:26:13 +0000</pubDate>
        <dc:creator>Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;</dc:creator>
    </item>
<item>
        <title>c19d0847 - perf trace beauty flock: Move to separate object file</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/tools/perf/trace/beauty/Build#c19d0847</link>
        <description>perf trace beauty flock: Move to separate object fileTo resolve some header conflicts that were preventing the build tosucceed in the Alpine Linux distribution.Cc: Adrian Hunter &lt;adrian.hunter@intel.com&gt;Cc: David Ahern &lt;dsahern@gmail.com&gt;Cc: Jiri Olsa &lt;jolsa@kernel.org&gt;Cc: Namhyung Kim &lt;namhyung@kernel.org&gt;Cc: Wang Nan &lt;wangnan0@huawei.com&gt;Link: https://lkml.kernel.org/n/tip-bvud0dvzvip3kibeplupdbmc@git.kernel.orgSigned-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;

            List of files:
            /linux-6.15/tools/perf/trace/beauty/Build</description>
        <pubDate>Mon, 22 Jan 2018 19:50:16 +0000</pubDate>
        <dc:creator>Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;</dc:creator>
    </item>
<item>
        <title>1de3038d - perf trace beauty kcmp: Beautify arguments</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/tools/perf/trace/beauty/Build#1de3038d</link>
        <description>perf trace beauty kcmp: Beautify argumentsFor some unknown reason there is no entry in tracefs&apos;s syscalls forkcmp, i.e. no tracefs/events/syscalls/sys_{enter,exit}_kcmp, so we needto provide a data dictionary for the fields.To beautify the &apos;type&apos; argument we automatically generate a strarrayfrom tools/include/uapi/kcmp.h, the idx1 and idx2 args, nowadays usedonly if type == KCMP_FILE, are masked for all the other types and alookup is made for the thread and fd to show the path, if possible,getting it from the probe:vfs_getname if in place or from procfs, racesallowing.A system wide strace like tracing session, with callchains shows justone user so far in this fedora 25 machine:  # perf trace --max-stack 5 -e kcmp  &lt;SNIP&gt;  1502914.400 ( 0.001 ms): systemd/1 kcmp(pid1: 1 (systemd), pid2: 1 (systemd), type: FILE, idx1: 271&lt;socket:[4723475]&gt;, idx2: 25&lt;socket:[4788686]&gt;) = -1 ENOSYS Function not implemented                                         syscall (/usr/lib64/libc-2.25.so)                                         same_fd (/usr/lib/systemd/libsystemd-shared-233.so)                                         service_add_fd_store (/usr/lib/systemd/systemd)                                         service_notify_message.lto_priv.127 (/usr/lib/systemd/systemd)  1502914.407 ( 0.001 ms): systemd/1 kcmp(pid1: 1 (systemd), pid2: 1 (systemd), type: FILE, idx1: 270&lt;socket:[4726396]&gt;, idx2: 25&lt;socket:[4788686]&gt;) = -1 ENOSYS Function not implemented                                         syscall (/usr/lib64/libc-2.25.so)                                         same_fd (/usr/lib/systemd/libsystemd-shared-233.so)                                         service_add_fd_store (/usr/lib/systemd/systemd)                                         service_notify_message.lto_priv.127 (/usr/lib/systemd/systemd)  &lt;SNIP&gt;The backtraces seem to agree this is really kcmp(), but this systemdoesn&apos;t have the sys_kcmp(), bummer:  # uname -a  Linux jouet 4.14.0-rc3+ #1 SMP Fri Oct 13 12:21:12 -03 2017 x86_64 x86_64 x86_64 GNU/Linux  # grep kcmp /proc/kallsyms  ffffffffb60b8890 W sys_kcmp  $ grep CONFIG_CHECKPOINT_RESTORE ../build/v4.14.0-rc3+/.config  # CONFIG_CHECKPOINT_RESTORE is not set  $So systemd uses it, good fedora kernel config has it:  $ grep CONFIG_CHECKPOINT_RESTORE /boot/config-4.13.4-200.fc26.x86_64  CONFIG_CHECKPOINT_RESTORE=y  [acme@jouet linux]$/me goes to rebuild a kernel...Cc: Adrian Hunter &lt;adrian.hunter@intel.com&gt;Cc: Andrey Vagin &lt;avagin@openvz.org&gt;Cc: Cyrill Gorcunov &lt;gorcunov@openvz.org&gt;Cc: David Ahern &lt;dsahern@gmail.com&gt;Cc: Jiri Olsa &lt;jolsa@kernel.org&gt;Cc: Namhyung Kim &lt;namhyung@kernel.org&gt;Cc: Wang Nan &lt;wangnan0@huawei.com&gt;Link: http://lkml.kernel.org/n/tip-gz5fca968viw8m7hryjqvrln@git.kernel.orgSigned-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;

            List of files:
            /linux-6.15/tools/perf/trace/beauty/Build</description>
        <pubDate>Tue, 31 Oct 2017 14:32:23 +0000</pubDate>
        <dc:creator>Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;</dc:creator>
    </item>
<item>
        <title>d688d037 - perf trace beauty prctl: Generate &apos;option&apos; string table from kernel headers</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/tools/perf/trace/beauty/Build#d688d037</link>
        <description>perf trace beauty prctl: Generate &apos;option&apos; string table from kernel headersThis is one more case where the way that syscall parameter values aredefined in kernel headers are easy to parse using a shell script thatwill then generate the string table that gets used by the prctl &apos;option&apos;argument beautifier.This way as soon as the header syncronization mechanism in perf&apos;s buildsystem detects a change in a copy of a kernel ABI header and that fileis syncronized, we get &apos;perf trace&apos; updated automagically.Further work needed for the PR_SET_ values, as well for using eBPF tocopy the non-integer arguments to/from the kernel.E.g.: System wide prctl tracing:  # perf trace -e prctl  1668.028 ( 0.025 ms): TaskSchedulerR/10649 prctl(option: SET_NAME, arg2: 0x2b61d5db15d0) = 0  3365.663 ( 0.018 ms): chrome/10650 prctl(option: SET_SECCOMP, arg2: 2, arg4: 8         ) = -1 EFAULT Bad address  3366.585 ( 0.010 ms): chrome/10650 prctl(option: SET_NO_NEW_PRIVS, arg2: 1             ) = 0  3367.173 ( 0.009 ms): TaskSchedulerR/10652 prctl(option: SET_NAME, arg2: 0x2b61d2aaa300) = 0  3367.222 ( 0.003 ms): TaskSchedulerR/10653 prctl(option: SET_NAME, arg2: 0x2b61d2aaa1e0) = 0  3367.244 ( 0.002 ms): TaskSchedulerR/10654 prctl(option: SET_NAME, arg2: 0x2b61d2aaa0c0) = 0  3367.265 ( 0.002 ms): TaskSchedulerR/10655 prctl(option: SET_NAME, arg2: 0x2b61d2ac7f90) = 0  3367.281 ( 0.002 ms): Chrome_ChildIO/10656 prctl(option: SET_NAME, arg2: 0x7efbe406bb11) = 0  3367.220 ( 0.004 ms): TaskSchedulerS/10651 prctl(option: SET_NAME, arg2: 0x2b61d2ac1be0) = 0  3370.906 ( 0.010 ms): GpuMemoryThrea/10657 prctl(option: SET_NAME, arg2: 0x7efbe386ab11) = 0  3370.983 ( 0.003 ms): File/10658 prctl(option: SET_NAME, arg2: 0x7efbe3069b11          ) = 0  3384.272 ( 0.020 ms): Compositor/10659 prctl(option: SET_NAME, arg2: 0x7efbe2868b11    ) = 0  3612.091 ( 0.012 ms): DOM Worker/11489 prctl(option: SET_NAME, arg2: 0x7f49ab97ebf2    ) = 0&lt;SNIP&gt;  4512.437 ( 0.004 ms): (sa1)/11490 prctl(option: SET_NAME, arg2: 0x7ffca15af844         ) = 0  4512.468 ( 0.002 ms): (sa1)/11490 prctl(option: SET_MM, arg2: ARG_START, arg3: 0x7f5cb7c81000) = 0  4512.472 ( 0.001 ms): (sa1)/11490 prctl(option: SET_MM, arg2: ARG_END, arg3: 0x7f5cb7c81006) = 0  4514.667 ( 0.002 ms): (sa1)/11490 prctl(option: GET_SECUREBITS                         ) = 0Cc: Adrian Hunter &lt;adrian.hunter@intel.com&gt;Cc: Andy Lutomirski &lt;luto@kernel.org&gt;Cc: David Ahern &lt;dsahern@gmail.com&gt;Cc: Jiri Olsa &lt;jolsa@kernel.org&gt;Cc: Namhyung Kim &lt;namhyung@kernel.org&gt;Cc: Wang Nan &lt;wangnan0@huawei.com&gt;Link: http://lkml.kernel.org/n/tip-q0s2uw579o5ei6xlh2zjirgz@git.kernel.orgSigned-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;

            List of files:
            /linux-6.15/tools/perf/trace/beauty/Build</description>
        <pubDate>Thu, 26 Oct 2017 18:19:35 +0000</pubDate>
        <dc:creator>Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;</dc:creator>
    </item>
<item>
        <title>83bc9c37 - perf trace beauty: Beautify pkey_{alloc,free,mprotect} arguments</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/tools/perf/trace/beauty/Build#83bc9c37</link>
        <description>perf trace beauty: Beautify pkey_{alloc,free,mprotect} argumentsReuse &apos;mprotect&apos; beautifiers for &apos;pkey_mprotect&apos;.System wide tracing pkey_alloc, pkey_free and pkey_mprotect calls, withbacktraces:  # perf trace -e pkey_alloc,pkey_mprotect,pkey_free --max-stack=5     0.000 ( 0.011 ms): pkey/7818 pkey_alloc(init_val: DISABLE_ACCESS|DISABLE_WRITE) = -1 EINVAL Invalid argument                                       syscall (/usr/lib64/libc-2.25.so)                                       pkey_alloc (/home/acme/c/pkey)     0.022 ( 0.003 ms): pkey/7818 pkey_mprotect(start: 0x7f28c3890000, len: 4096, prot: READ|WRITE, pkey: -1) = 0                                       syscall (/usr/lib64/libc-2.25.so)                                       pkey_mprotect (/home/acme/c/pkey)     0.030 ( 0.002 ms): pkey/7818 pkey_free(pkey: -1                               ) = -1 EINVAL Invalid argument                                       syscall (/usr/lib64/libc-2.25.so)                                       pkey_free (/home/acme/c/pkey)The tools/include/uapi/asm-generic/mman-common.h file is used to findthe access rights defines for the pkey_alloc syscall second argument.Since we have the detector of changes for the tools/include header filesversus its kernel origin (include/uapi/asm-generic/mman-common.h), we&apos;llget whatever new flag appears for that argument automatically.This method should be used in other cases where it is easy to generatethose flags tables because the header has properly namespaced defineslike PKEY_DISABLE_ACCESS and PKEY_DISABLE_WRITE.Cc: Adrian Hunter &lt;adrian.hunter@intel.com&gt;Cc: Arnd Bergmann &lt;arnd@arndb.de&gt;Cc: Dave Hansen &lt;dave.hansen@linux.intel.com&gt;Cc: David Ahern &lt;dsahern@gmail.com&gt;Cc: Jiri Olsa &lt;jolsa@kernel.org&gt;Cc: Namhyung Kim &lt;namhyung@kernel.org&gt;Cc: Wang Nan &lt;wangnan0@huawei.com&gt;Link: http://lkml.kernel.org/n/tip-3xq5312qlks7wtfzv2sk3nct@git.kernel.orgSigned-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;

            List of files:
            /linux-6.15/tools/perf/trace/beauty/Build</description>
        <pubDate>Mon, 28 Aug 2017 14:47:11 +0000</pubDate>
        <dc:creator>Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;</dc:creator>
    </item>
<item>
        <title>1cc47f2d - perf trace beauty ioctl: Improve &apos;cmd&apos; beautifier</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/tools/perf/trace/beauty/Build#1cc47f2d</link>
        <description>perf trace beauty ioctl: Improve &apos;cmd&apos; beautifierBy using the _IOC_(DIR,NR,TYPE,SIZE) macros to lookup a &apos;type&apos; keyedtable that then gets indexed by &apos;nr&apos;, falling back to a notation similarto the one used by &apos;strace&apos;, only more compact, i.e.:   474.356 ( 0.007 ms): gnome-shell/22401 ioctl(fd: 8&lt;/dev/dri/card0&gt;, cmd: (READ|WRITE, 0x64, 0xae, 0x1c), arg: 0x7ffc934f7880) = 0   474.369 ( 0.053 ms): gnome-shell/22401 ioctl(fd: 8&lt;/dev/dri/card0&gt;, cmd: (READ|WRITE, 0x64, 0xb0, 0x18), arg: 0x7ffc934f77d0) = 0   505.055 ( 0.014 ms): gnome-shell/22401 ioctl(fd: 8&lt;/dev/dri/card0&gt;, cmd: (READ|WRITE, 0x64, 0xaf, 0x4), arg: 0x7ffc934f741c) = 0This also moves it out of builtin-trace.c and into trace/beauty/ioctl.cto better compartimentalize all these formatters.Cc: Adrian Hunter &lt;adrian.hunter@intel.com&gt;Cc: David Ahern &lt;dsahern@gmail.com&gt;Cc: Jiri Olsa &lt;jolsa@kernel.org&gt;Cc: Namhyung Kim &lt;namhyung@kernel.org&gt;Cc: Wang Nan &lt;wangnan0@huawei.com&gt;Link: http://lkml.kernel.org/n/tip-s3enursdxsvnhdomh6qlte4g@git.kernel.orgSigned-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;

            List of files:
            /linux-6.15/tools/perf/trace/beauty/Build</description>
        <pubDate>Mon, 31 Jul 2017 16:20:14 +0000</pubDate>
        <dc:creator>Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;</dc:creator>
    </item>
</channel>
</rss>
