• Arnaldo Carvalho de Melo's avatar
    tools headers UAPI: Sync files changed by new futex_waitv syscall · 7380aa89
    Arnaldo Carvalho de Melo authored
    To pick the changes in these csets:
    
      039c0ec9 ("futex,x86: Wire up sys_futex_waitv()")
      bf69bad3 ("futex: Implement sys_futex_waitv()")
    
    That add support for this new syscall in tools such as 'perf trace'.
    
    For instance, this is now possible:
    
      # perf trace -e futex_waitv
      ^C#
      # perf trace -v -e futex_waitv
      Using CPUID AuthenticAMD-25-21-0
      event qualifier tracepoint filter: (common_pid != 807333 && common_pid != 3564) && (id == 449)
      mmap size 528384B
      ^C#
      # perf trace -v -e futex* --max-events 10
      Using CPUID AuthenticAMD-25-21-0
      event qualifier tracepoint filter: (common_pid != 812168 && common_pid != 3564) && (id == 202 || id == 449)
      mmap size 528384B
               ? (         ): Timer/219310  ... [continued]: futex())                                            = -1 ETIMEDOUT (Connection timed out)
           0.012 ( 0.002 ms): Timer/219310 futex(uaddr: 0x7fd0b152d3c8, op: WAKE|PRIVATE_FLAG, val: 1)           = 0
           0.024 ( 0.060 ms): Timer/219310 futex(uaddr: 0x7fd0b152d420, op: WAIT_BITSET|PRIVATE_FLAG, utime: 0x7fd0b1657840, val3: MATCH_ANY) = 0
           0.086 ( 0.001 ms): Timer/219310 futex(uaddr: 0x7fd0b152d3c8, op: WAKE|PRIVATE_FLAG, val: 1)           = 0
           0.088 (         ): Timer/219310 futex(uaddr: 0x7fd0b152d424, op: WAIT_BITSET|PRIVATE_FLAG, utime: 0x7fd0b1657840, val3: MATCH_ANY) ...
           0.075 ( 0.005 ms): Web Content/219299 futex(uaddr: 0x7fd0b152d420, op: WAKE|PRIVATE_FLAG, val: 1)     = 1
           0.169 ( 0.004 ms): Web Content/219299 futex(uaddr: 0x7fd0b152d424, op: WAKE|PRIVATE_FLAG, val: 1)     = 1
           0.088 ( 0.089 ms): Timer/219310  ... [continued]: futex())                                            = 0
           0.179 ( 0.001 ms): Timer/219310 futex(uaddr: 0x7fd0b152d3c8, op: WAKE|PRIVATE_FLAG, val: 1)           = 0
           0.181 (         ): Timer/219310 futex(uaddr: 0x7fd0b152d420, op: WAIT_BITSET|PRIVATE_FLAG, utime: 0x7fd0b1657840, val3: MATCH_ANY) ...
      #
    
    That is the filter expression attached to the raw_syscalls:sys_{enter,exit}
    tracepoints.
    
      $ grep futex_waitv tools/perf/arch/x86/entry/syscalls/syscall_64.tbl
      449	common	futex_waitv		sys_futex_waitv
      $
    
    This addresses these perf build warnings:
    
      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
    
    Cc: André Almeida <andrealmeid@collabora.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    7380aa89
unistd.h 30.6 KB