Re: [FYI][PATCH 1/1] tools headers UAPI: Sync powerpc syscall table file changed by new futex_waitv syscall

From: Athira Rajeev
Date: Fri Nov 26 2021 - 04:51:54 EST




> On 26-Nov-2021, at 2:12 AM, Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> wrote:
>
> To pick the changes in this cset:
>
> a0eb2da92b715d0c ("futex: Wireup futex_waitv syscall")
>
> That add support for this new syscall in tools such as 'perf trace'.
>
> For instance, this is now possible (adapted from the x86_64 test output):
>
> # perf trace -e futex_waitv
> ^C#
> # perf trace -v -e futex_waitv
> event qualifier tracepoint filter: (common_pid != 807333 && common_pid != 3564) && (id == 449)
> ^C#
> # perf trace -v -e futex* --max-events 10
> event qualifier tracepoint filter: (common_pid != 812168 && common_pid != 3564) && (id == 221 || 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 tools/perf/arch/powerpc/entry/syscalls/syscall.tbl
> 221 32 futex sys_futex_time32
> 221 64 futex sys_futex
> 221 spu futex sys_futex
> 422 32 futex_time64 sys_futex sys_futex
> 449 common futex_waitv sys_futex_waitv
> $
>

Hi Arnaldo,

I checked this in powerpc by using :
perf trace -v -e futex_waitv
And also using functional selftest from 'tools/testing/selftests/futex/functional/futex_waitv’, to make sure ‘futex_waitv’ comes in the perf trace result.

Just a minor suggestion change. Below warning mentioned in this patch is for s390. But I verified that this patch fixes the perf build warning in powerpc also. So would be good to put the warning logs for powerpc:

Warning: Kernel ABI header at 'tools/perf/arch/powerpc/entry/syscalls/syscall.tbl' differs from latest version at 'arch/powerpc/kernel/syscalls/syscall.tbl'
diff -u tools/perf/arch/powerpc/entry/syscalls/syscall.tbl arch/powerpc/kernel/syscalls/syscall.tbl

Reviewed-and-Tested-by: Athira Rajeev <atrajeev@xxxxxxxxxxxxxxxxxx>

Thanks
Athira

> This addresses this perf build warnings:
>
> Warning: Kernel ABI header at 'tools/perf/arch/s390/entry/syscalls/syscall.tbl' differs from latest version at 'arch/s390/kernel/syscalls/syscall.tbl'
> diff -u tools/perf/arch/s390/entry/syscalls/syscall.tbl arch/s390/kernel/syscalls/syscall.tbl
>
> Cc: André Almeida <andrealmeid@xxxxxxxxxxxxx>
> Cc: Arnd Bergmann <arnd@xxxxxxxx>
> Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
> ---
> tools/perf/arch/powerpc/entry/syscalls/syscall.tbl | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/tools/perf/arch/powerpc/entry/syscalls/syscall.tbl b/tools/perf/arch/powerpc/entry/syscalls/syscall.tbl
> index 7bef917cc84e6499..15109af9d0754d5f 100644
> --- a/tools/perf/arch/powerpc/entry/syscalls/syscall.tbl
> +++ b/tools/perf/arch/powerpc/entry/syscalls/syscall.tbl
> @@ -528,3 +528,4 @@
> 446 common landlock_restrict_self sys_landlock_restrict_self
> # 447 reserved for memfd_secret
> 448 common process_mrelease sys_process_mrelease
> +449 common futex_waitv sys_futex_waitv
> --
> 2.31.1
>
>