[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Z9NEX3j_1RUvaFI0@x1>
Date: Thu, 13 Mar 2025 17:47:27 -0300
From: Arnaldo Carvalho de Melo <acme@...nel.org>
To: Namhyung Kim <namhyung@...nel.org>
Cc: Ian Rogers <irogers@...gle.com>, Peter Zijlstra <peterz@...radead.org>,
Ingo Molnar <mingo@...hat.com>, Mark Rutland <mark.rutland@....com>,
Alexander Shishkin <alexander.shishkin@...ux.intel.com>,
Jiri Olsa <jolsa@...nel.org>,
Adrian Hunter <adrian.hunter@...el.com>,
Kan Liang <kan.liang@...ux.intel.com>,
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>,
guoren <guoren@...nel.org>,
Paul Walmsley <paul.walmsley@...ive.com>,
Palmer Dabbelt <palmer@...belt.com>,
Albert Ou <aou@...s.berkeley.edu>,
Charlie Jenkins <charlie@...osinc.com>,
Bibo Mao <maobibo@...ngson.cn>, Huacai Chen <chenhuacai@...nel.org>,
Catalin Marinas <catalin.marinas@....com>,
Jiri Slaby <jirislaby@...nel.org>,
Björn Töpel <bjorn@...osinc.com>,
Howard Chu <howardchu95@...il.com>, linux-kernel@...r.kernel.org,
linux-perf-users@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org,
"linux-csky@...r.kernel.org" <linux-csky@...r.kernel.org>,
linux-riscv@...ts.infradead.org, Arnd Bergmann <arnd@...db.de>
Subject: Re: [PATCH v5 00/11] perf: Support multiple system call tables in
the build
On Thu, Mar 13, 2025 at 05:20:09PM -0300, Arnaldo Carvalho de Melo wrote:
> Still building, but noticed this on x86_64:
>
> 105: perf trace enum augmentation tests : FAILED!
> 106: perf trace BTF general tests : FAILED!
> 107: perf trace exit race : Ok
> 108: perf trace record and replay : FAILED!
>
>
> The first doesn´t help that much with verbose mode, haven't checked if
> before this series it was failing :-\
>
> root@x1:~# perf test -vvv 105
> 105: perf trace enum augmentation tests:
> --- start ---
> test child forked, pid 19411
> Checking if vmlinux exists
> Tracing syscall landlock_add_rule
> ---- end(-1) ----
> 105: perf trace enum augmentation tests : FAILED!
> root@x1:~#
So:
root@x1:~# perf trace -e landlock_add_rule perf test -w landlock
root@x1:~#
But:
root@x1:~# perf trace perf test -w landlock |& grep landlock_add_rule
26.120 ( 0.002 ms): perf/19791 landlock_add_rule(ruleset_fd: 11, rule_type: LANDLOCK_RULE_PATH_BENEATH, rule_attr: 0x7ffde75e2680, flags: 45) = -1 EINVAL (Invalid argument)
26.124 ( 0.001 ms): perf/19791 landlock_add_rule(ruleset_fd: 11, rule_type: LANDLOCK_RULE_NET_PORT, rule_attr: 0x7ffde75e2690, flags: 45) = -1 EINVAL (Invalid argument)
root@x1:~#
-e is having some trouble, when no event is specified, then it works.
Something in the changes made to:
static int trace__parse_events_option(const struct option *opt, const char *str,
int unset __maybe_unused)
- Arnaldo
More data:
root@x1:~# perf trace -vvv -e landlock_add_rule perf test -w landlock
Using CPUID GenuineIntel-6-BA-3
Opening: cpu/cycles/
------------------------------------------------------------
perf_event_attr:
type 0 (PERF_TYPE_HARDWARE)
config 0xa00000000 (cpu_atom/PERF_COUNT_HW_CPU_CYCLES/)
disabled 1
------------------------------------------------------------
sys_perf_event_open: pid 0 cpu -1 group_fd -1 flags 0x8 = 27
Opening: cpu/cycles/
------------------------------------------------------------
perf_event_attr:
type 0 (PERF_TYPE_HARDWARE)
config 0x400000000 (cpu_core/PERF_COUNT_HW_CPU_CYCLES/)
disabled 1
------------------------------------------------------------
sys_perf_event_open: pid 0 cpu -1 group_fd -1 flags 0x8 = 28
Opening: raw_syscalls:sys_enter
------------------------------------------------------------
perf_event_attr:
type 2 (PERF_TYPE_TRACEPOINT)
size 136
config 0x197 (raw_syscalls:sys_enter)
{ sample_period, sample_freq } 1
sample_type IP|TID|TIME|ID|CPU|PERIOD|RAW
read_format ID|LOST
disabled 1
inherit 1
mmap 1
comm 1
enable_on_exec 1
task 1
sample_id_all 1
mmap2 1
comm_exec 1
ksymbol 1
bpf_event 1
{ wakeup_events, wakeup_watermark } 1
------------------------------------------------------------
sys_perf_event_open: pid 19786 cpu 0 group_fd -1 flags 0x8 = 29
sys_perf_event_open: pid 19786 cpu 1 group_fd -1 flags 0x8 = 30
sys_perf_event_open: pid 19786 cpu 2 group_fd -1 flags 0x8 = 31
sys_perf_event_open: pid 19786 cpu 3 group_fd -1 flags 0x8 = 33
sys_perf_event_open: pid 19786 cpu 4 group_fd -1 flags 0x8 = 34
sys_perf_event_open: pid 19786 cpu 5 group_fd -1 flags 0x8 = 35
sys_perf_event_open: pid 19786 cpu 6 group_fd -1 flags 0x8 = 36
sys_perf_event_open: pid 19786 cpu 7 group_fd -1 flags 0x8 = 37
sys_perf_event_open: pid 19786 cpu 8 group_fd -1 flags 0x8 = 38
sys_perf_event_open: pid 19786 cpu 9 group_fd -1 flags 0x8 = 39
sys_perf_event_open: pid 19786 cpu 10 group_fd -1 flags 0x8 = 40
sys_perf_event_open: pid 19786 cpu 11 group_fd -1 flags 0x8 = 41
Opening: raw_syscalls:sys_exit
------------------------------------------------------------
perf_event_attr:
type 2 (PERF_TYPE_TRACEPOINT)
size 136
config 0x196 (raw_syscalls:sys_exit)
{ sample_period, sample_freq } 1
sample_type IP|TID|TIME|ID|CPU|PERIOD|RAW
read_format ID|LOST
disabled 1
inherit 1
enable_on_exec 1
sample_id_all 1
{ wakeup_events, wakeup_watermark } 1
------------------------------------------------------------
sys_perf_event_open: pid 19786 cpu 0 group_fd -1 flags 0x8 = 42
sys_perf_event_open: pid 19786 cpu 1 group_fd -1 flags 0x8 = 43
sys_perf_event_open: pid 19786 cpu 2 group_fd -1 flags 0x8 = 44
sys_perf_event_open: pid 19786 cpu 3 group_fd -1 flags 0x8 = 45
sys_perf_event_open: pid 19786 cpu 4 group_fd -1 flags 0x8 = 46
sys_perf_event_open: pid 19786 cpu 5 group_fd -1 flags 0x8 = 47
sys_perf_event_open: pid 19786 cpu 6 group_fd -1 flags 0x8 = 48
sys_perf_event_open: pid 19786 cpu 7 group_fd -1 flags 0x8 = 49
sys_perf_event_open: pid 19786 cpu 8 group_fd -1 flags 0x8 = 50
sys_perf_event_open: pid 19786 cpu 9 group_fd -1 flags 0x8 = 51
sys_perf_event_open: pid 19786 cpu 10 group_fd -1 flags 0x8 = 52
sys_perf_event_open: pid 19786 cpu 11 group_fd -1 flags 0x8 = 53
Opening: __augmented_syscalls__
------------------------------------------------------------
perf_event_attr:
type 1 (PERF_TYPE_SOFTWARE)
size 136
config 0xa (PERF_COUNT_SW_BPF_OUTPUT)
{ sample_period, sample_freq } 1
sample_type IP|TID|TIME|ID|CPU|PERIOD|RAW
read_format ID|LOST
disabled 1
enable_on_exec 1
sample_id_all 1
{ wakeup_events, wakeup_watermark } 1
------------------------------------------------------------
sys_perf_event_open: pid 19786 cpu 0 group_fd -1 flags 0x8 = 54
sys_perf_event_open: pid 19786 cpu 1 group_fd -1 flags 0x8 = 55
sys_perf_event_open: pid 19786 cpu 2 group_fd -1 flags 0x8 = 56
sys_perf_event_open: pid 19786 cpu 3 group_fd -1 flags 0x8 = 57
sys_perf_event_open: pid 19786 cpu 4 group_fd -1 flags 0x8 = 58
sys_perf_event_open: pid 19786 cpu 5 group_fd -1 flags 0x8 = 59
sys_perf_event_open: pid 19786 cpu 6 group_fd -1 flags 0x8 = 60
sys_perf_event_open: pid 19786 cpu 7 group_fd -1 flags 0x8 = 61
sys_perf_event_open: pid 19786 cpu 8 group_fd -1 flags 0x8 = 62
sys_perf_event_open: pid 19786 cpu 9 group_fd -1 flags 0x8 = 63
sys_perf_event_open: pid 19786 cpu 10 group_fd -1 flags 0x8 = 64
sys_perf_event_open: pid 19786 cpu 11 group_fd -1 flags 0x8 = 65
Problems reading syscall 156: 2 (No such file or directory)(_sysctl) information
Problems reading syscall 183: 2 (No such file or directory)(afs_syscall) information
Problems reading syscall 174: 2 (No such file or directory)(create_module) information
Problems reading syscall 214: 2 (No such file or directory)(epoll_ctl_old) information
Problems reading syscall 215: 2 (No such file or directory)(epoll_wait_old) information
Problems reading syscall 177: 2 (No such file or directory)(get_kernel_syms) information
Problems reading syscall 211: 2 (No such file or directory)(get_thread_area) information
Problems reading syscall 181: 2 (No such file or directory)(getpmsg) information
vmlinux BTF loaded
Problems reading syscall 212: 2 (No such file or directory)(lookup_dcookie) information
Problems reading syscall 180: 2 (No such file or directory)(nfsservctl) information
Problems reading syscall 182: 2 (No such file or directory)(putpmsg) information
Problems reading syscall 178: 2 (No such file or directory)(query_module) information
Problems reading syscall 185: 2 (No such file or directory)(security) information
Problems reading syscall 205: 2 (No such file or directory)(set_thread_area) information
Problems reading syscall 184: 2 (No such file or directory)(tuxcall) information
Problems reading syscall 134: 2 (No such file or directory)(uselib) information
Problems reading syscall 236: 2 (No such file or directory)(vserver) information
event qualifier tracepoint filter: id == 29098429
mmap size 528384B
libperf: mmap_per_cpu: nr cpu values 12 nr threads 1
libperf: idx 0: mmapping fd 29
<SNIP>
root@x1:~#
root@x1:~# cat /sys/kernel/tracing/events/syscalls/sys_enter_landlock_add_rule/id
1449
root@x1:~# perf trace -e landlock_add_rule perf test -w landlock
root@x1:~# strace -e landlock_add_rule perf test -w landlock
landlock_add_rule(11, LANDLOCK_RULE_PATH_BENEATH, {allowed_access=LANDLOCK_ACCESS_FS_READ_FILE, parent_fd=14}, 0x2d) = -1 EINVAL (Invalid argument)
landlock_add_rule(11, LANDLOCK_RULE_NET_PORT, {allowed_access=LANDLOCK_ACCESS_NET_CONNECT_TCP, port=19}, 0x2d) = -1 EINVAL (Invalid argument)
+++ exited with 0 +++
root@x1:~#
root@x1:~# vim /tmp/build/perf-tools-next/trace/beauty/generated/syscalltbl.c
<SNIP>
static const char *const syscall_num_to_name_EM_X86_64[] = {
[0] = "read",
[1] = "write",
[2] = "open",
<SNIP>
[442] = "mount_setattr",
[443] = "quotactl_fd",
[444] = "landlock_create_ruleset",
[445] = "landlock_add_rule",
[446] = "landlock_restrict_self",
[447] = "memfd_secret",
[448] = "process_mrelease",
[449] = "futex_waitv",
[450] = "set_mempolicy_home_node",
<SNIP>
};
static const uint16_t syscall_sorted_names_EM_X86_64[] = {
156, /* _sysctl */
43, /* accept */
288, /* accept4 */
<SNIP>
246, /* kexec_load */
250, /* keyctl */
62, /* kill */
445, /* landlock_add_rule */
444, /* landlock_create_ruleset */
446, /* landlock_restrict_self */
94, /* lchown */
192, /* lgetxattr */
<SNIP>
};
<SNIP>
#if defined(ALL_SYSCALLTBL) || defined(__i386__) || defined(__x86_64__)
{
.num_to_name = syscall_num_to_name_EM_386,
.sorted_names = syscall_sorted_names_EM_386,
.e_machine = EM_386,
.num_to_name_len = ARRAY_SIZE(syscall_num_to_name_EM_386),
.sorted_names_len = ARRAY_SIZE(syscall_sorted_names_EM_386),
},
{
.num_to_name = syscall_num_to_name_EM_X86_64,
.sorted_names = syscall_sorted_names_EM_X86_64,
.e_machine = EM_X86_64,
.num_to_name_len = ARRAY_SIZE(syscall_num_to_name_EM_X86_64),
.sorted_names_len = ARRAY_SIZE(syscall_sorted_names_EM_X86_64),
},
#endif // defined(ALL_SYSCALLTBL) || defined(__i386__) || defined(__x86_64__)
<SNIP>
Powered by blists - more mailing lists