1. 09 Jun, 2020 1 commit
    • Arnaldo Carvalho de Melo's avatar
      tools headers API: Update faccessat2 affected files · 6c3c184f
      Arnaldo Carvalho de Melo authored
      Update the copies of files affected by:
      
        c8ffd8bc ("vfs: add faccessat2 syscall")
      
      To address this perf build warning:
      
        Warning: Kernel ABI header at 'tools/include/uapi/linux/fcntl.h' differs from latest version at 'include/uapi/linux/fcntl.h'
        diff -u tools/include/uapi/linux/fcntl.h include/uapi/linux/fcntl.h
        Warning: Kernel ABI header at 'tools/include/uapi/asm-generic/unistd.h' differs from latest version at 'include/uapi/asm-generic/unistd.h'
        diff -u tools/include/uapi/asm-generic/unistd.h include/uapi/asm-generic/unistd.h
        Warning: Kernel ABI header at 'tools/perf/arch/x86/entry/syscalls/syscall_64.tbl' differs from latest version at 'arch/x86/entry/syscalls/syscall_64.tbl'
        diff -u tools/perf/arch/x86/entry/syscalls/syscall_64.tbl arch/x86/entry/syscalls/syscall_64.tbl
      
      Which results in 'perf trace' gaining support for the 'faccessat2'
      syscall, now one can use:
      
        # perf trace -e faccessat2
      
      And have system wide tracing of this syscall. And this also will include
      it;
      
        # perf trace -e faccess*
      
      Together with the other variants.
      
      How it affects building/usage (on an x86_64 system):
      
        $ cp /tmp/build/perf/arch/x86/include/generated/asm/syscalls_64.c /tmp/syscalls_64.c.before
        $
        [root@five ~]# perf trace -e faccessat2
        event syntax error: 'faccessat2'
                             \___ parser error
        Run 'perf list' for a list of valid events
      
         Usage: perf trace [<options>] [<command>]
            or: perf trace [<options>] -- <command> [<options>]
            or: perf trace record [<options>] [<command>]
            or: perf trace record [<options>] -- <command> [<options>]
      
            -e, --event <event>   event/syscall selector. use 'perf list' to list available events
        [root@five ~]#
        $ cp arch/x86/entry/syscalls/syscall_64.tbl tools/perf/arch/x86/entry/syscalls/syscall_64.tbl
        $ git diff
        diff --git a/tools/perf/arch/x86/entry/syscalls/syscall_64.tbl b/tools/perf/arch/x86/entry/syscalls/syscall_64.tbl
        index 37b844f839bc..78847b32e137 100644
        --- a/tools/perf/arch/x86/entry/syscalls/syscall_64.tbl
        +++ b/tools/perf/arch/x86/entry/syscalls/syscall_64.tbl
        @@ -359,6 +359,7 @@
         435    common  clone3                  sys_clone3
         437    common  openat2                 sys_openat2
         438    common  pidfd_getfd             sys_pidfd_getfd
        +439    common  faccessat2              sys_faccessat2
      
         #
         # x32-specific system call numbers start at 512 to avoid cache impact
        $
      
        $ make -C tools/perf O=/tmp/build/perf/ install-bin
        <SNIP>
        CC       /tmp/build/perf/util/syscalltbl.o
        LD       /tmp/build/perf/util/perf-in.o
        LD       /tmp/build/perf/perf-in.o
        LINK     /tmp/build/perf/perf
        <SNIP>
        [root@five ~]# perf trace -e faccessat2
        ^C[root@five ~]#
      
      Cc: Miklos Szeredi <mszeredi@redhat.com>
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      6c3c184f
  2. 08 Jun, 2020 39 commits