Skip to content

Commit c9d77f0

Browse files
committed
tools headers: Update the syscall tables and unistd.h, to support the new 'rseq_slice_yield' syscall
Picking up the changes from these csets: 2153b2e ("sparc: Add architecture support for clone3") 99d2592 ("rseq: Implement sys_rseq_slice_yield()") 4ac286c ("s390/syscalls: Switch to generic system call table generation") This makes 'perf trace' support it, now its possible, for instance, to do: # perf trace -e rseq_slice_yield --max-stack=16 Here is an example with the 'sendmmsg' syscall: root@x1:~# perf trace -e sendmmsg --max-stack 16 --max-events=1 0.000 ( 0.062 ms): dbus-broker/1012 sendmmsg(fd: 150, mmsg: 0x7ffef57cca50, vlen: 1, flags: DONTWAIT|NOSIGNAL) = 1 syscall_exit_to_user_mode_prepare ([kernel.kallsyms]) syscall_exit_to_user_mode_prepare ([kernel.kallsyms]) syscall_exit_to_user_mode ([kernel.kallsyms]) do_syscall_64 ([kernel.kallsyms]) entry_SYSCALL_64 ([kernel.kallsyms]) [0x117ce7] (/usr/lib64/libc.so.6 (deleted)) root@x1:~# To do a system wide tracing of the new 'rseq_slice_yield' syscall with a backtrace of at most 16 entries. This addresses these perf tools 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/scripts/syscall.tbl scripts/syscall.tbl diff -u tools/perf/arch/x86/entry/syscalls/syscall_32.tbl arch/x86/entry/syscalls/syscall_32.tbl 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 diff -u tools/perf/arch/arm/entry/syscalls/syscall.tbl arch/arm/tools/syscall.tbl diff -u tools/perf/arch/sh/entry/syscalls/syscall.tbl arch/sh/kernel/syscalls/syscall.tbl diff -u tools/perf/arch/sparc/entry/syscalls/syscall.tbl arch/sparc/kernel/syscalls/syscall.tbl diff -u tools/perf/arch/xtensa/entry/syscalls/syscall.tbl arch/xtensa/kernel/syscalls/syscall.tbl Cc: Andreas Larsson <andreas@gaisler.com> Cc: Heiko Carstens <hca@linux.ibm.com> Cc: Ludwig Rydberg <ludwig.rydberg@gaisler.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Thomas Gleixner <tglx@kernel.org> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
1 parent b3ce769 commit c9d77f0

11 files changed

Lines changed: 406 additions & 469 deletions

File tree

tools/include/uapi/asm-generic/unistd.h

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -860,8 +860,11 @@ __SYSCALL(__NR_file_setattr, sys_file_setattr)
860860
#define __NR_listns 470
861861
__SYSCALL(__NR_listns, sys_listns)
862862

863+
#define __NR_rseq_slice_yield 471
864+
__SYSCALL(__NR_rseq_slice_yield, sys_rseq_slice_yield)
865+
863866
#undef __NR_syscalls
864-
#define __NR_syscalls 471
867+
#define __NR_syscalls 472
865868

866869
/*
867870
* 32 bit systems traditionally used different

tools/perf/arch/arm/entry/syscalls/syscall.tbl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -485,3 +485,4 @@
485485
468 common file_getattr sys_file_getattr
486486
469 common file_setattr sys_file_setattr
487487
470 common listns sys_listns
488+
471 common rseq_slice_yield sys_rseq_slice_yield

tools/perf/arch/mips/entry/syscalls/syscall_n64.tbl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -385,3 +385,4 @@
385385
468 n64 file_getattr sys_file_getattr
386386
469 n64 file_setattr sys_file_setattr
387387
470 n64 listns sys_listns
388+
471 n64 rseq_slice_yield sys_rseq_slice_yield

tools/perf/arch/powerpc/entry/syscalls/syscall.tbl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -561,3 +561,4 @@
561561
468 common file_getattr sys_file_getattr
562562
469 common file_setattr sys_file_setattr
563563
470 common listns sys_listns
564+
471 nospu rseq_slice_yield sys_rseq_slice_yield

tools/perf/arch/s390/entry/syscalls/syscall.tbl

Lines changed: 392 additions & 467 deletions
Large diffs are not rendered by default.

tools/perf/arch/sh/entry/syscalls/syscall.tbl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -474,3 +474,4 @@
474474
468 common file_getattr sys_file_getattr
475475
469 common file_setattr sys_file_setattr
476476
470 common listns sys_listns
477+
471 common rseq_slice_yield sys_rseq_slice_yield

tools/perf/arch/sparc/entry/syscalls/syscall.tbl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -480,7 +480,7 @@
480480
432 common fsmount sys_fsmount
481481
433 common fspick sys_fspick
482482
434 common pidfd_open sys_pidfd_open
483-
# 435 reserved for clone3
483+
435 common clone3 __sys_clone3
484484
436 common close_range sys_close_range
485485
437 common openat2 sys_openat2
486486
438 common pidfd_getfd sys_pidfd_getfd
@@ -516,3 +516,4 @@
516516
468 common file_getattr sys_file_getattr
517517
469 common file_setattr sys_file_setattr
518518
470 common listns sys_listns
519+
471 common rseq_slice_yield sys_rseq_slice_yield

tools/perf/arch/x86/entry/syscalls/syscall_32.tbl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -476,3 +476,4 @@
476476
468 i386 file_getattr sys_file_getattr
477477
469 i386 file_setattr sys_file_setattr
478478
470 i386 listns sys_listns
479+
471 i386 rseq_slice_yield sys_rseq_slice_yield

tools/perf/arch/x86/entry/syscalls/syscall_64.tbl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -395,6 +395,7 @@
395395
468 common file_getattr sys_file_getattr
396396
469 common file_setattr sys_file_setattr
397397
470 common listns sys_listns
398+
471 common rseq_slice_yield sys_rseq_slice_yield
398399

399400
#
400401
# Due to a historical design error, certain syscalls are numbered differently

tools/perf/arch/xtensa/entry/syscalls/syscall.tbl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -441,3 +441,4 @@
441441
468 common file_getattr sys_file_getattr
442442
469 common file_setattr sys_file_setattr
443443
470 common listns sys_listns
444+
471 common rseq_slice_yield sys_rseq_slice_yield

0 commit comments

Comments
 (0)