[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20241104-perf_syscalltbl-v1-0-9adae5c761ef@rivosinc.com>
Date: Mon, 04 Nov 2024 13:06:02 -0800
From: Charlie Jenkins <charlie@...osinc.com>
To: Peter Zijlstra <peterz@...radead.org>, Ingo Molnar <mingo@...hat.com>,
Arnaldo Carvalho de Melo <acme@...nel.org>,
Namhyung Kim <namhyung@...nel.org>, Mark Rutland <mark.rutland@....com>,
Alexander Shishkin <alexander.shishkin@...ux.intel.com>,
Jiri Olsa <jolsa@...nel.org>, Ian Rogers <irogers@...gle.com>,
Adrian Hunter <adrian.hunter@...el.com>,
Paul Walmsley <paul.walmsley@...ive.com>,
Palmer Dabbelt <palmer@...belt.com>, Albert Ou <aou@...s.berkeley.edu>,
Mickaël Salaün <mic@...ikod.net>,
Günther Noack <gnoack@...gle.com>,
Christian Brauner <brauner@...nel.org>, Guo Ren <guoren@...nel.org>,
John Garry <john.g.garry@...cle.com>, Will Deacon <will@...nel.org>,
James Clark <james.clark@...aro.org>, Mike Leach <mike.leach@...aro.org>,
Leo Yan <leo.yan@...ux.dev>, Jonathan Corbet <corbet@....net>,
Arnd Bergmann <arnd@...db.de>
Cc: linux-kernel@...r.kernel.org, linux-perf-users@...r.kernel.org,
linux-riscv@...ts.infradead.org, linux-security-module@...r.kernel.org,
bpf@...r.kernel.org, linux-csky@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org, linux-doc@...r.kernel.org,
Charlie Jenkins <charlie@...osinc.com>
Subject: [PATCH RFT 00/16] perf tools: Use generic syscall scripts for all
archs
Standardize the generation of syscall headers around syscall tables.
Previously each architecture independently selected how syscall headers
would be generated, or would not define a way and fallback onto
libaudit. Convert all architectures to use a standard syscall header
generation script and allow each architecture to override the syscall
table to use if they do not use the generic table.
As a result of these changes, no architecture will require libaudit, and
so the fallback case of using libaudit is removed by this series.
Testing:
I have tested that the syscall mappings of id to name generation works
as expected for every architecture, but I have only validated that perf
trace compiles and runs as expected on riscv, arm64, and x86_64.
Signed-off-by: Charlie Jenkins <charlie@...osinc.com>
---
Charlie Jenkins (16):
perf tools: Create generic syscall table support
perf tools: arc: Support generic syscall headers
perf tools: csky: Support generic syscall headers
perf tools: arm: Support syscall headers
perf tools: sh: Support syscall headers
perf tools: sparc: Support syscall headers
perf tools: xtensa: Support syscall header
perf tools: x86: Use generic syscall scripts
perf tools: alpha: Support syscall header
perf tools: parisc: Support syscall header
perf tools: arm64: Use syscall table
perf tools: loongarch: Use syscall table
perf tools: mips: Use generic syscall scripts
perf tools: powerpc: Use generic syscall table scripts
perf tools: s390: Use generic syscall table scripts
perf tools: Remove dependency on libaudit
Documentation/admin-guide/workload-tracing.rst | 2 +-
tools/build/feature/Makefile | 4 -
tools/build/feature/test-libaudit.c | 11 -
tools/perf/Documentation/perf-check.txt | 1 -
tools/perf/Makefile.config | 28 +-
tools/perf/Makefile.perf | 12 +-
tools/perf/arch/alpha/entry/syscalls/Kbuild | 2 +
.../arch/alpha/entry/syscalls/Makefile.syscalls | 5 +
tools/perf/arch/alpha/entry/syscalls/syscall.tbl | 504 ++++++++++++++++++++
tools/perf/arch/alpha/include/syscall_table.h | 2 +
tools/perf/arch/arc/entry/syscalls/Kbuild | 2 +
.../perf/arch/arc/entry/syscalls/Makefile.syscalls | 3 +
tools/perf/arch/arc/include/syscall_table.h | 2 +
tools/perf/arch/arm/entry/syscalls/Kbuild | 4 +
.../perf/arch/arm/entry/syscalls/Makefile.syscalls | 2 +
tools/perf/arch/arm/entry/syscalls/syscall.tbl | 479 +++++++++++++++++++
tools/perf/arch/arm/include/syscall_table.h | 2 +
tools/perf/arch/arm64/Makefile | 22 -
tools/perf/arch/arm64/entry/syscalls/Kbuild | 3 +
.../arch/arm64/entry/syscalls/Makefile.syscalls | 6 +
tools/perf/arch/arm64/entry/syscalls/mksyscalltbl | 46 --
.../perf/arch/arm64/entry/syscalls/syscall_32.tbl | 476 +++++++++++++++++++
.../perf/arch/arm64/entry/syscalls/syscall_64.tbl | 1 +
tools/perf/arch/arm64/include/syscall_table.h | 8 +
tools/perf/arch/csky/entry/syscalls/Kbuild | 2 +
.../arch/csky/entry/syscalls/Makefile.syscalls | 3 +
tools/perf/arch/csky/include/syscall_table.h | 2 +
tools/perf/arch/loongarch/Makefile | 22 -
tools/perf/arch/loongarch/entry/syscalls/Kbuild | 2 +
.../loongarch/entry/syscalls/Makefile.syscalls | 3 +
.../arch/loongarch/entry/syscalls/mksyscalltbl | 45 --
tools/perf/arch/loongarch/include/syscall_table.h | 2 +
tools/perf/arch/mips/Makefile | 18 -
tools/perf/arch/mips/entry/syscalls/Kbuild | 2 +
.../arch/mips/entry/syscalls/Makefile.syscalls | 5 +
tools/perf/arch/mips/entry/syscalls/mksyscalltbl | 32 --
tools/perf/arch/mips/include/syscall_table.h | 2 +
tools/perf/arch/parisc/entry/syscalls/Kbuild | 3 +
.../arch/parisc/entry/syscalls/Makefile.syscalls | 6 +
tools/perf/arch/parisc/entry/syscalls/syscall.tbl | 463 +++++++++++++++++++
tools/perf/arch/parisc/include/syscall_table.h | 8 +
tools/perf/arch/powerpc/Makefile | 25 -
tools/perf/arch/powerpc/entry/syscalls/Kbuild | 3 +
.../arch/powerpc/entry/syscalls/Makefile.syscalls | 6 +
.../perf/arch/powerpc/entry/syscalls/mksyscalltbl | 39 --
tools/perf/arch/powerpc/include/syscall_table.h | 8 +
tools/perf/arch/riscv/entry/syscalls/Kbuild | 2 +
.../arch/riscv/entry/syscalls/Makefile.syscalls | 4 +
tools/perf/arch/riscv/include/syscall_table.h | 8 +
tools/perf/arch/s390/Makefile | 21 -
tools/perf/arch/s390/entry/syscalls/Kbuild | 2 +
.../arch/s390/entry/syscalls/Makefile.syscalls | 5 +
tools/perf/arch/s390/entry/syscalls/mksyscalltbl | 32 --
tools/perf/arch/s390/include/syscall_table.h | 2 +
tools/perf/arch/sh/entry/syscalls/Kbuild | 2 +
.../perf/arch/sh/entry/syscalls/Makefile.syscalls | 4 +
tools/perf/arch/sh/entry/syscalls/syscall.tbl | 468 +++++++++++++++++++
tools/perf/arch/sh/include/syscall_table.h | 2 +
tools/perf/arch/sparc/entry/syscalls/Kbuild | 3 +
.../arch/sparc/entry/syscalls/Makefile.syscalls | 5 +
tools/perf/arch/sparc/entry/syscalls/syscall.tbl | 510 +++++++++++++++++++++
tools/perf/arch/sparc/include/syscall_table.h | 8 +
tools/perf/arch/x86/Build | 1 -
tools/perf/arch/x86/Makefile | 25 -
tools/perf/arch/x86/entry/syscalls/Kbuild | 3 +
.../perf/arch/x86/entry/syscalls/Makefile.syscalls | 6 +
tools/perf/arch/x86/entry/syscalls/syscalltbl.sh | 42 --
tools/perf/arch/x86/include/syscall_table.h | 8 +
tools/perf/arch/xtensa/entry/syscalls/Kbuild | 2 +
.../arch/xtensa/entry/syscalls/Makefile.syscalls | 4 +
tools/perf/arch/xtensa/entry/syscalls/syscall.tbl | 435 ++++++++++++++++++
tools/perf/arch/xtensa/include/syscall_table.h | 2 +
tools/perf/builtin-check.c | 1 -
tools/perf/builtin-help.c | 2 -
tools/perf/builtin-trace.c | 30 --
tools/perf/check-headers.sh | 9 +
tools/perf/perf.c | 6 +-
tools/perf/scripts/Makefile.syscalls | 69 +++
tools/perf/scripts/syscalltbl.sh | 86 ++++
tools/perf/tests/make | 7 +-
tools/perf/util/env.c | 4 +-
tools/perf/util/generate-cmdlist.sh | 4 +-
tools/perf/util/syscalltbl.c | 87 +---
tools/scripts/syscall.tbl | 405 ++++++++++++++++
84 files changed, 4089 insertions(+), 555 deletions(-)
---
base-commit: 59b723cd2adbac2a34fc8e12c74ae26ae45bf230
change-id: 20240913-perf_syscalltbl-6f98defcc6f5
--
- Charlie
Powered by blists - more mailing lists