[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240705094300.585156-1-howardchu95@gmail.com>
Date: Fri, 5 Jul 2024 17:42:52 +0800
From: Howard Chu <howardchu95@...il.com>
To: acme@...nel.org
Cc: adrian.hunter@...el.com,
irogers@...gle.com,
jolsa@...nel.org,
kan.liang@...ux.intel.com,
namhyung@...nel.org,
linux-perf-users@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: [PATCH v4 0/8] perf trace: Augment enum arguments with BTF
Changes in v5:
- Use hardcoded landlock structs and macros for landlock.c workload to
make this build in older systems.
Changes in v4:
- Fix landlock workload's build error.
Changes in v3:
- Add trace__btf_scnprintf() helper function
- Remove is_enum memeber in struct syscall_arg_fmt, replace it with
btf_is_enum()
- Add syscall_arg_fmt__cache_btf_enum() to cache btf_type only
- Resolve NO_LIBBPF=1 build error
- Skip BTF augmentation test if landlock_add_rule syscall and LIBBPF are not
available
- Rename landlock.c workload, add a comment to landlock.c workload
- Change the way of skipping 'enum ' prefix
- Add type_name member to struct syscall_arg
Changes in v2:
- Add trace_btf_enum regression test, and landlock workload
v1:
In this patch, BTF is used to turn enum value to the corresponding
enum variable name. There is only one system call that uses enum value
as its argument, that is `landlock_add_rule()`.
Enum arguments of non-syscall tracepoints can also be augmented, for
instance timer:hrtimer_start and timer:hrtimer_init's 'mode' argument.
Arnaldo Carvalho de Melo (2):
perf trace: Introduce trace__btf_scnprintf()
perf trace: Remove arg_fmt->is_enum, we can get that from the BTF type
Howard Chu (6):
perf trace: Fix iteration of syscall ids in syscalltbl->entries
perf trace: BTF-based enum pretty printing for syscall args
perf trace: Augment non-syscall tracepoints with enum arguments with
BTF
perf trace: Filter enum arguments with enum names
perf test: Add landlock workload
perf test trace_btf_enum: Add regression test for the BTF augmentation
of enums in 'perf trace'
tools/perf/builtin-trace.c | 229 ++++++++++++++++++++---
tools/perf/tests/builtin-test.c | 1 +
tools/perf/tests/shell/trace_btf_enum.sh | 61 ++++++
tools/perf/tests/tests.h | 1 +
tools/perf/tests/workloads/Build | 2 +
tools/perf/tests/workloads/landlock.c | 66 +++++++
tools/perf/trace/beauty/beauty.h | 1 +
tools/perf/util/syscalltbl.c | 7 +
tools/perf/util/syscalltbl.h | 1 +
9 files changed, 345 insertions(+), 24 deletions(-)
create mode 100755 tools/perf/tests/shell/trace_btf_enum.sh
create mode 100644 tools/perf/tests/workloads/landlock.c
--
2.45.2
Powered by blists - more mailing lists