From: Nassiri, Mohammad <hidden> Date: 2026-02-17 20:14:04
Hello,
On PPC64 with Yocto Kirkstone and Linux 5.10.x, `CONFIG_FTRACE_SYSCALLS=y` is enabled, but neither `perf list` nor ftrace show per‑syscall events under `/sys/kernel/debug/tracing/events/syscalls`. Only `raw_syscalls:sys_enter` / `raw_syscalls:sys_exit` are available.
On the same build and kernel version for x86_64, per‑syscall events are visible.
Configs on PPC include:
CONFIG_TRACEPOINTS=y
CONFIG_EVENT_TRACING=y
CONFIG_FTRACE=y
CONFIG_FTRACE_SYSCALLS=y
CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
Questions:
1. Is the absence of per‑syscall tracepoints on PPC in 5.10.x expected behaviour, or am I missing a config option required for these syscalls:* events to be available?
2. Or were these events only enabled for PPC after Michael Ellerman’s syscall tracing patch series in v6.1?
Link: https://lore.kernel.org/linuxppc-dev/166488988686.779920.13794870102696416283.b4-ty@ellerman.id.au/
3. If yes to (2), would a minimal backport of the PPC syscall tracepoint generation code from v6.1 allow 5.10.x to show syscalls:* events in perf/ftrace?
Thanks,
Mohammad
From: Steven Rostedt <rostedt@goodmis.org> Date: 2026-02-17 20:31:23
On Tue, 17 Feb 2026 20:10:39 +0000
"Nassiri, Mohammad" [off-list ref] wrote:
Hello,
On PPC64 with Yocto Kirkstone and Linux 5.10.x,
5.10 is ancient and nobody working upstream is going to bother looking at
this.
If it works on a more recent kernel, then maybe something needs to be
backported.
-- Steve
From: Nassiri, Mohammad <hidden> Date: 2026-02-17 20:55:48
Hi Steve,
Thanks for the quick response.
We may plan to upgrade the PPC build environment to a newer kernel in a couple of months, but not at the moment — it is currently tied to Linux 5.10.x and upgrading would require some effort.
However, the change by Michael Ellerman in 6.1 introduces CONFIG_ARCH_HAS_SYSCALL_WRAPPER for PowerPC, but my expectation was that per‑syscall trace events would still be accessible in earlier kernels.
Are you or Michael aware of such issue on PPC in kernel versions between 4.17 (when the syscalls wrapper option was first added to the Linux kernel) and 6.1 (when it was added to PPC)? FYI, on my side this was working properly in an earlier kernel version 4.9.x.
---
Mohammad
________________________________________
From: Steven Rostedt <rostedt@goodmis.org>
Sent: February 17, 2026 3:23 PM
To: Nassiri, Mohammad <redacted>
Cc: linuxppc-dev@lists.ozlabs.org <redacted>; linux-trace-users@vger.kernel.org <redacted>; michael@ellerman.id.au <redacted>; srostedt@redhat.com <redacted>; masami.hiramatsu@linaro.org <redacted>; Christophe Leroy <redacted>; Nicholas Piggin <npiggin@gmail.com>
Subject: [**EXTERNAL**] Re: [PPC][Tracing] Missing syscalls:* ftrace/perf events on PowerPC vs x86
On Tue, 17 Feb 2026 20:10:39 +0000
"Nassiri, Mohammad" [off-list ref] wrote:
Hello,
On PPC64 with Yocto Kirkstone and Linux 5.10.x,
5.10 is ancient and nobody working upstream is going to bother looking at
this.
If it works on a more recent kernel, then maybe something needs to be
backported.
-- Steve
From: Hari Bathini <hbathini@linux.ibm.com> Date: 2026-02-18 05:33:54
On 18/02/26 1:40 am, Nassiri, Mohammad wrote:
Hello,
On PPC64 with Yocto Kirkstone and Linux 5.10.x, `CONFIG_FTRACE_SYSCALLS=y` is enabled, but neither `perf list` nor ftrace show per‑syscall events under `/sys/kernel/debug/tracing/events/syscalls`. Only `raw_syscalls:sys_enter` / `raw_syscalls:sys_exit` are available.
On the same build and kernel version for x86_64, per‑syscall events are visible.
Configs on PPC include:
CONFIG_TRACEPOINTS=y
CONFIG_EVENT_TRACING=y
CONFIG_FTRACE=y
CONFIG_FTRACE_SYSCALLS=y
CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
Questions:
1. Is the absence of per‑syscall tracepoints on PPC in 5.10.x expected behaviour, or am I missing a config option required for these syscalls:* events to be available?
2. Or were these events only enabled for PPC after Michael Ellerman’s syscall tracing patch series in v6.1?
Link: https://lore.kernel.org/linuxppc-dev/166488988686.779920.13794870102696416283.b4-ty@ellerman.id.au/
3. If yes to (2), would a minimal backport of the PPC syscall tracepoint generation code from v6.1 allow 5.10.x to show syscalls:* events in perf/ftrace?
You should see syscall enter/exit tracepoints on v5.10.x without syscall
wrapper patchset referred above. Are you using v5.10.250 ?
Also, would help, if you can share the .config you used.
- Hari
From: Nassiri, Mohammad <hidden> Date: 2026-02-18 13:57:16
You should see syscall enter/exit tracepoints on v5.10.x without syscall
wrapper patchset referred above. Are you using v5.10.250 ?
Also, would help, if you can share the .config you used.
Hi Hari,
No, I'm not using the latest v5.10.250. I tested on two versions --- v5.10.174 and v5.10.239 --- and I still see the issue on both.
For your reference, here is a grep from my .config showing most of the tracing options I enabled while troubleshooting this issue.
mona_pc$ grep "TRACE\|SYSCALL\|EVENT\|PROBE" .config
CONFIG_HAVE_ARCH_AUDITSYSCALL=y
CONFIG_GENERIC_TIME_VSYSCALL=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
CONFIG_SYSCTL_EXCEPTION_TRACE=y
CONFIG_SGETMASK_SYSCALL=y
CONFIG_SYSFS_SYSCALL=y
CONFIG_EVENTFD=y
CONFIG_ADVISE_SYSCALLS=y
# CONFIG_BPF_SYSCALL is not set
CONFIG_HAVE_PERF_EVENTS=y
CONFIG_PERF_EVENTS=y
CONFIG_VM_EVENT_COUNTERS=y
CONFIG_TRACEPOINTS=y
CONFIG_FSL_EMB_PERF_EVENT=y
CONFIG_FSL_EMB_PERF_EVENT_E500=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
CONFIG_ARCH_SUPPORTS_UPROBES=y
CONFIG_ARCH_CPU_PROBE_RELEASE=y
CONFIG_KPROBES=y
CONFIG_OPTPROBES=y
CONFIG_KRETPROBES=y
CONFIG_HAVE_KPROBES=y
CONFIG_HAVE_KRETPROBES=y
CONFIG_HAVE_OPTPROBES=y
CONFIG_HAVE_KPROBES_ON_FTRACE=y
CONFIG_HAVE_ARCH_TRACEHOOK=y
CONFIG_HAVE_PERF_EVENTS_NMI=y
# CONFIG_LOCK_EVENT_COUNTS is not set
# CONFIG_NF_CONNTRACK_EVENTS is not set
# CONFIG_NETFILTER_XT_TARGET_TRACE is not set
CONFIG_PCI_SYSCALL=y
CONFIG_UEVENT_HELPER=y
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_PREVENT_FIRMWARE_BUILD=y
# CONFIG_TEST_ASYNC_DRIVER_PROBE is not set
CONFIG_GENERIC_CPU_AUTOPROBE=y
CONFIG_PROC_EVENTS=y
# CONFIG_MTD_JEDECPROBE is not set
CONFIG_MTD_GEN_PROBE=y
# CONFIG_TRACE_SINK is not set
CONFIG_STACKTRACE=y
# CONFIG_RCU_TRACE is not set
CONFIG_NOP_TRACER=y
CONFIG_HAVE_FUNCTION_TRACER=y
CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
CONFIG_HAVE_DYNAMIC_FTRACE=y
CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
CONFIG_TRACER_MAX_TRACE=y
CONFIG_TRACE_CLOCK=y
CONFIG_EVENT_TRACING=y
CONFIG_CONTEXT_SWITCH_TRACER=y
CONFIG_GENERIC_TRACER=y
CONFIG_FTRACE=y
CONFIG_FUNCTION_TRACER=y
CONFIG_FUNCTION_GRAPH_TRACER=y
CONFIG_DYNAMIC_FTRACE=y
CONFIG_STACK_TRACER=y
# CONFIG_IRQSOFF_TRACER is not set
CONFIG_SCHED_TRACER=y
# CONFIG_HWLAT_TRACER is not set
CONFIG_FTRACE_SYSCALLS=y
CONFIG_TRACER_SNAPSHOT=y
# CONFIG_TRACER_SNAPSHOT_PER_CPU_SWAP is not set
CONFIG_BLK_DEV_IO_TRACE=y
CONFIG_KPROBE_EVENTS=y
CONFIG_KPROBE_EVENTS_ON_NOTRACE=y
# CONFIG_UPROBE_EVENTS is not set
CONFIG_DYNAMIC_EVENTS=y
CONFIG_PROBE_EVENTS=y
CONFIG_FTRACE_MCOUNT_RECORD=y
# CONFIG_SYNTH_EVENTS is not set
# CONFIG_TRACE_EVENT_INJECT is not set
# CONFIG_TRACEPOINT_BENCHMARK is not set
# CONFIG_TRACE_EVAL_MAP_FILE is not set
# CONFIG_FTRACE_STARTUP_TEST is not set
# CONFIG_KPROBE_EVENT_GEN_TEST is not set
CONFIG_CC_HAS_SANCOV_TRACE_PC=y
-- Mohammad
From: Hari Bathini <hbathini@linux.ibm.com> Date: 2026-02-20 07:54:32
On 18/02/26 7:26 pm, Nassiri, Mohammad wrote:
quoted
You should see syscall enter/exit tracepoints on v5.10.x without syscall
wrapper patchset referred above. Are you using v5.10.250 ?
Also, would help, if you can share the .config you used.
Hi Hari,
Hi Mohammad,
No, I'm not using the latest v5.10.250. I tested on two versions --- v5.10.174 and v5.10.239 --- and I still see the issue on both.
For your reference, here is a grep from my .config showing most of the tracing options I enabled while troubleshooting this issue.
OK. Tried v5.10.250 as well as v5.10.174 with the similar config
options. Could see syscall enter/exit tracepoints..
- Hari
From: Nassiri, Mohammad <hidden> Date: 2026-02-21 17:35:40
Hi Hari,
I could find and resolve the syscall tracing issue.
The root cause was that within my toolchain and the PPC64_ELF_ABI_v1, the symbol resolver can provide data symbols without a leading dot (e.g., sys_read instead of .sys_read). In our system running kernel v5.10.x, this was causing a mismatch that prevented ftrace from correctly mapping metadata to syscall numbers.
https://elixir.bootlin.com/linux/v5.10.174/source/arch/powerpc/include/asm/ftrace.h#L78
I could fix this by modifying the matching function to be dot-agnostic.
Also found the fix in the upstream:
https://lore.kernel.org/all/20221201161442.2127231-1-mjeanson@efficios.com/
We might need to backport this to earlier 5.x stable version.
-- Mohammad
________________________________
From: Hari Bathini <hbathini@linux.ibm.com>
Sent: February 20, 2026 2:54 AM
To: Nassiri, Mohammad <redacted>; linuxppc-dev@lists.ozlabs.org <redacted>
Cc: linux-trace-users@vger.kernel.org <redacted>; michael@ellerman.id.au <redacted>; masami.hiramatsu@linaro.org <redacted>; Christophe Leroy <redacted>; Nicholas Piggin <npiggin@gmail.com>; rostedt@goodmis.org <rostedt@goodmis.org>
Subject: Re: [**EXTERNAL**] Re: [PPC][Tracing] Missing syscalls:* ftrace/perf events on PowerPC vs x86
On 18/02/26 7:26 pm, Nassiri, Mohammad wrote:
quoted
You should see syscall enter/exit tracepoints on v5.10.x without syscall
wrapper patchset referred above. Are you using v5.10.250 ?
Also, would help, if you can share the .config you used.
Hi Hari,
Hi Mohammad,
No, I'm not using the latest v5.10.250. I tested on two versions --- v5.10.174 and v5.10.239 --- and I still see the issue on both.
For your reference, here is a grep from my .config showing most of the tracing options I enabled while troubleshooting this issue.
OK. Tried v5.10.250 as well as v5.10.174 with the similar config
options. Could see syscall enter/exit tracepoints..
- Hari