• Arnaldo Carvalho de Melo's avatar
    tools headers UAPI: Sync files changed by new cachestat syscall with the kernel sources · 9350a917
    Arnaldo Carvalho de Melo authored
    To pick the changes in these csets:
    
      cf264e13 ("cachestat: implement cachestat syscall")
    
    That add support for this new syscall in tools such as 'perf trace'.
    
    For instance, this is now possible:
    
      # perf trace -e cachestat
      ^C[root@five ~]#
      # perf trace -v -e cachestat
      Using CPUID AuthenticAMD-25-21-0
      event qualifier tracepoint filter: (common_pid != 3163687 && common_pid != 3147) && (id == 451)
      mmap size 528384B
      ^C[root@five ~]
    
      # perf trace -v -e *stat* --max-events=10
      Using CPUID AuthenticAMD-25-21-0
      event qualifier tracepoint filter: (common_pid != 3163713 && common_pid != 3147) && (id == 4 || id == 5 || id == 6 || id == 136 || id == 137 || id == 138 || id == 262 || id == 332 || id == 451)
      mmap size 528384B
           0.000 ( 0.009 ms): Cache2 I/O/4544 statfs(pathname: 0x45635288, buf: 0x7f8745725b60)                     = 0
           0.012 ( 0.003 ms): Cache2 I/O/4544 newfstatat(dfd: CWD, filename: 0x45635288, statbuf: 0x7f874569d250)   = 0
           0.036 ( 0.002 ms): Cache2 I/O/4544 newfstatat(dfd: 138, filename: 0x541b7093, statbuf: 0x7f87457256f0, flag: 4096) = 0
           0.372 ( 0.006 ms): Cache2 I/O/4544 statfs(pathname: 0x45635288, buf: 0x7f8745725b10)                     = 0
           0.379 ( 0.003 ms): Cache2 I/O/4544 newfstatat(dfd: CWD, filename: 0x45635288, statbuf: 0x7f874569d250)   = 0
           0.390 ( 0.002 ms): Cache2 I/O/4544 newfstatat(dfd: 138, filename: 0x541b7093, statbuf: 0x7f87457256a0, flag: 4096) = 0
           0.609 ( 0.005 ms): Cache2 I/O/4544 statfs(pathname: 0x45635288, buf: 0x7f8745725b60)                     = 0
           0.615 ( 0.003 ms): Cache2 I/O/4544 newfstatat(dfd: CWD, filename: 0x45635288, statbuf: 0x7f874569d250)   = 0
           0.625 ( 0.002 ms): Cache2 I/O/4544 newfstatat(dfd: 138, filename: 0x541b7093, statbuf: 0x7f87457256f0, flag: 4096) = 0
           0.826 ( 0.005 ms): Cache2 I/O/4544 statfs(pathname: 0x45635288, buf: 0x7f8745725b10)                     = 0
      #
    
    That is the filter expression attached to the raw_syscalls:sys_{enter,exit}
    tracepoints.
    
      $ find tools/perf/arch/ -name "syscall*tbl" | xargs grep -w sys_cachestat
      tools/perf/arch/mips/entry/syscalls/syscall_n64.tbl:451	n64	cachestat			sys_cachestat
      tools/perf/arch/powerpc/entry/syscalls/syscall.tbl:451	common	cachestat			sys_cachestat
      tools/perf/arch/s390/entry/syscalls/syscall.tbl:451  common	cachestat		sys_cachestat			sys_cachestat
      tools/perf/arch/x86/entry/syscalls/syscall_64.tbl:451	common	cachestat		sys_cachestat
      $
    
      $ grep -w cachestat /tmp/build/perf-tools/arch/x86/include/generated/asm/syscalls_64.c
      	[451] = "cachestat",
      $
    
    This addresses these perf build warnings:
    
    Warning: Kernel ABI header differences:
      diff -u tools/include/uapi/asm-generic/unistd.h include/uapi/asm-generic/unistd.h
      diff -u tools/include/uapi/linux/mman.h include/uapi/linux/mman.h
      diff -u tools/perf/arch/x86/entry/syscalls/syscall_64.tbl arch/x86/entry/syscalls/syscall_64.tbl
      diff -u tools/perf/arch/powerpc/entry/syscalls/syscall.tbl arch/powerpc/kernel/syscalls/syscall.tbl
      diff -u tools/perf/arch/s390/entry/syscalls/syscall.tbl arch/s390/kernel/syscalls/syscall.tbl
      diff -u tools/perf/arch/mips/entry/syscalls/syscall_n64.tbl arch/mips/kernel/syscalls/syscall_n64.tbl
    
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Cc: Ian Rogers <irogers@google.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Nhat Pham <nphamcs@gmail.com>
    Link: https://lore.kernel.org/lkml/ZK1pVBJpbjujJNJW@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    9350a917
syscall_64.tbl 14.5 KB