* [GIT PULL] ftrace: Updates for 6.15
@ 2025-03-25 23:39 Steven Rostedt
2025-03-28 0:09 ` pr-tracker-bot
0 siblings, 1 reply; 6+ messages in thread
From: Steven Rostedt @ 2025-03-25 23:39 UTC (permalink / raw)
To: Linus Torvalds
Cc: LKML, Masami Hiramatsu, Mark Rutland, Mathieu Desnoyers,
Andrew Morton, Haiyue Wang, Jiapeng Chong, Sasha Levin,
Sven Schnelle, Tengda Wu
Linus,
ftrace changes for v6.15:
- Record function parameters for function and function graph tracers
An option has been added to function tracer (func-args) and the function
graph tracer (funcgraph-args) that when set, the tracers will record the
registers that hold the arguments into each function event. On reading of
the trace, it will use BTF to print those arguments. Most archs support up
to 6 arguments (depending on the complexity of the arguments) and those
are printed. If a function has more arguments then what was recorded, the
output will end with " ... )".
Example of function graph tracer:
6) | dummy_xmit [dummy](skb = 0x8887c100, dev = 0x872ca000) {
6) | consume_skb(skb = 0x8887c100) {
6) | skb_release_head_state(skb = 0x8887c100) {
6) 0.178 us | sock_wfree(skb = 0x8887c100)
6) 0.627 us | }
- The rest of the changes are minor clean ups and fixes
Please pull the latest ftrace-v6.15 tree, which can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace.git
ftrace-v6.15
Tag SHA1: d96c183fee82a7cb9e3875c6e65fae637768d592
Head SHA1: 391dda1bd7c56de62b96126214f040fe8965561b
Haiyue Wang (1):
fgraph: Correct typo in ftrace_return_to_handler comment
Jiapeng Chong (1):
function_graph: Remove the unused variable func
Sasha Levin (1):
tracing: Use hashtable.h for event_hash
Steven Rostedt (2):
ftrace: Have ftrace_free_filter() WARN and exit if ops is active
ftrace: Have funcgraph-args take affect during tracing
Sven Schnelle (3):
ftrace: Add print_function_args()
ftrace: Add support for function argument to graph tracer
ftrace: Add arguments to function tracer
Tengda Wu (1):
tracing: Fix use-after-free in print_graph_function_flags during tracer switching
----
include/linux/ftrace_regs.h | 5 +
kernel/trace/Kconfig | 12 +++
kernel/trace/fgraph.c | 2 +-
kernel/trace/ftrace.c | 2 +
kernel/trace/trace.c | 14 ++-
kernel/trace/trace.h | 5 +-
kernel/trace/trace_entries.h | 12 ++-
kernel/trace/trace_functions.c | 46 ++++++++-
kernel/trace/trace_functions_graph.c | 176 ++++++++++++++++++++++++++++-------
kernel/trace/trace_irqsoff.c | 14 ++-
kernel/trace/trace_output.c | 122 +++++++++++++++++++++---
kernel/trace/trace_output.h | 9 ++
kernel/trace/trace_sched_wakeup.c | 6 +-
13 files changed, 351 insertions(+), 74 deletions(-)
---------------------------
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: [GIT PULL] ftrace: Updates for 6.15
2025-03-25 23:39 [GIT PULL] ftrace: Updates for 6.15 Steven Rostedt
@ 2025-03-28 0:09 ` pr-tracker-bot
2025-03-31 16:57 ` Christian Loehle
0 siblings, 1 reply; 6+ messages in thread
From: pr-tracker-bot @ 2025-03-28 0:09 UTC (permalink / raw)
To: Steven Rostedt
Cc: Linus Torvalds, LKML, Masami Hiramatsu, Mark Rutland,
Mathieu Desnoyers, Andrew Morton, Haiyue Wang, Jiapeng Chong,
Sasha Levin, Sven Schnelle, Tengda Wu
The pull request you sent on Tue, 25 Mar 2025 19:39:35 -0400:
> git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace.git ftrace-v6.15
has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/31eb415bf6f06c90fdd9b635caf3a6c5110a38b6
Thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/prtracker.html
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [GIT PULL] ftrace: Updates for 6.15
2025-03-28 0:09 ` pr-tracker-bot
@ 2025-03-31 16:57 ` Christian Loehle
2025-04-01 11:26 ` Christian Loehle
2025-04-01 11:31 ` Leon Romanovsky
0 siblings, 2 replies; 6+ messages in thread
From: Christian Loehle @ 2025-03-31 16:57 UTC (permalink / raw)
To: pr-tracker-bot@kernel.org, Steven Rostedt
Cc: Linus Torvalds, Christian Loehle, Hongyan Xia, LKML,
Masami Hiramatsu, Mark Rutland, Mathieu Desnoyers, Andrew Morton,
Haiyue Wang, Jiapeng Chong, Sasha Levin, Sven Schnelle, Tengda Wu
________________________________________
From: pr-tracker-bot@kernel.org <pr-tracker-bot@kernel.org>
Sent: 28 March 2025 00:09
To: Steven Rostedt <rostedt@goodmis.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>; LKML <linux-kernel@vger.kernel.org>; Masami Hiramatsu <mhiramat@kernel.org>; Mark Rutland <Mark.Rutland@arm.com>; Mathieu Desnoyers <mathieu.desnoyers@efficios.com>; Andrew Morton <akpm@linux-foundation.org>; Haiyue Wang <haiyuewa@163.com>; Jiapeng Chong <jiapeng.chong@linux.alibaba.com>; Sasha Levin <sashal@kernel.org>; Sven Schnelle <svens@linux.ibm.com>; Tengda Wu <wutengda@huaweicloud.com>
Subject: Re: [GIT PULL] ftrace: Updates for 6.15
>The pull request you sent on Tue, 25 Mar 2025 19:39:35 -0400:
>
>> git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace.git ftrace-v6.15
>
>has been merged into torvalds/linux.git:
>https://git.kernel.org/torvalds/c/31eb415bf6f06c90fdd9b635caf3a6c5110a38b6
>
>Thank you!
>
>--
>Deet-doot-dot, I am a bot.
>https://korg.docs.kernel.org/prtracker.html
Hi Steven,
I'm pretty sure this causes the build to fail on linus' tree and next:
4e82c87058f4 (HEAD -> master, origin/master, origin/HEAD) Merge tag 'rust-6.15' of git://git.kernel.org/pub/scm/linux/kernel/git/ojeda/linux
aarch64-linux-gnu-ld: Unexpected GOT/PLT entries detected!
aarch64-linux-gnu-ld: Unexpected run-time procedure linkages detected!
aarch64-linux-gnu-ld: kernel/trace/trace_output.o: in function `print_function_args':
/home/chrloe01/development/linux-mainline/kernel/trace/trace_output.c:712: undefined reference to `btf_find_func_proto'
aarch64-linux-gnu-ld: /home/chrloe01/development/linux-mainline/kernel/trace/trace_output.c:716: undefined reference to `btf_get_func_param'
make[2]: *** [scripts/Makefile.vmlinux:77: vmlinux] Error 1
make[1]: *** [/data_nvme1n1/chrloe01/development/linux-mainline/Makefile:1234: vmlinux] Error 2
make: *** [Makefile:251: __sub-make] Error 2
Sound familiar?
grep BTF .config
CONFIG_DEBUG_INFO_BTF=y
CONFIG_PAHOLE_HAS_SPLIT_BTF=y
CONFIG_DEBUG_INFO_BTF_MODULES=y
# CONFIG_MODULE_ALLOW_BTF_MISMATCH is not set
Enabling CONFIG_PROBE_EVENTS_BTF_ARGS passes the build.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [GIT PULL] ftrace: Updates for 6.15
2025-03-31 16:57 ` Christian Loehle
@ 2025-04-01 11:26 ` Christian Loehle
2025-04-01 11:31 ` Leon Romanovsky
1 sibling, 0 replies; 6+ messages in thread
From: Christian Loehle @ 2025-04-01 11:26 UTC (permalink / raw)
To: pr-tracker-bot@kernel.org, Steven Rostedt
Cc: Linus Torvalds, Hongyan Xia, LKML, Masami Hiramatsu, Mark Rutland,
Mathieu Desnoyers, Andrew Morton, Haiyue Wang, Jiapeng Chong,
Sasha Levin, Sven Schnelle, Tengda Wu
On 3/31/25 17:57, Christian Loehle wrote:
>
>
> ________________________________________
> From: pr-tracker-bot@kernel.org <pr-tracker-bot@kernel.org>
> Sent: 28 March 2025 00:09
> To: Steven Rostedt <rostedt@goodmis.org>
> Cc: Linus Torvalds <torvalds@linux-foundation.org>; LKML <linux-kernel@vger.kernel.org>; Masami Hiramatsu <mhiramat@kernel.org>; Mark Rutland <Mark.Rutland@arm.com>; Mathieu Desnoyers <mathieu.desnoyers@efficios.com>; Andrew Morton <akpm@linux-foundation.org>; Haiyue Wang <haiyuewa@163.com>; Jiapeng Chong <jiapeng.chong@linux.alibaba.com>; Sasha Levin <sashal@kernel.org>; Sven Schnelle <svens@linux.ibm.com>; Tengda Wu <wutengda@huaweicloud.com>
> Subject: Re: [GIT PULL] ftrace: Updates for 6.15
>
>
>> The pull request you sent on Tue, 25 Mar 2025 19:39:35 -0400:
>>
>>> git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace.git ftrace-v6.15
>>
>> has been merged into torvalds/linux.git:
>> https://git.kernel.org/torvalds/c/31eb415bf6f06c90fdd9b635caf3a6c5110a38b6
>>
>> Thank you!
>>
>> --
>> Deet-doot-dot, I am a bot.
>> https://korg.docs.kernel.org/prtracker.html
>
> Hi Steven,
> I'm pretty sure this causes the build to fail on linus' tree and next:
> 4e82c87058f4 (HEAD -> master, origin/master, origin/HEAD) Merge tag 'rust-6.15' of git://git.kernel.org/pub/scm/linux/kernel/git/ojeda/linux
>
> aarch64-linux-gnu-ld: Unexpected GOT/PLT entries detected!
> aarch64-linux-gnu-ld: Unexpected run-time procedure linkages detected!
> aarch64-linux-gnu-ld: kernel/trace/trace_output.o: in function `print_function_args':
> /home/chrloe01/development/linux-mainline/kernel/trace/trace_output.c:712: undefined reference to `btf_find_func_proto'
> aarch64-linux-gnu-ld: /home/chrloe01/development/linux-mainline/kernel/trace/trace_output.c:716: undefined reference to `btf_get_func_param'
> make[2]: *** [scripts/Makefile.vmlinux:77: vmlinux] Error 1
> make[1]: *** [/data_nvme1n1/chrloe01/development/linux-mainline/Makefile:1234: vmlinux] Error 2
> make: *** [Makefile:251: __sub-make] Error 2
>
> Sound familiar?
> grep BTF .config
> CONFIG_DEBUG_INFO_BTF=y
> CONFIG_PAHOLE_HAS_SPLIT_BTF=y
> CONFIG_DEBUG_INFO_BTF_MODULES=y
> # CONFIG_MODULE_ALLOW_BTF_MISMATCH is not set
>
> Enabling CONFIG_PROBE_EVENTS_BTF_ARGS passes the build.
>
In linus' tree we have:
76fe0337c219 ftrace: Add arguments to function tracer
c7a60a733c37 ftrace: Have funcgraph-args take affect during tracing
ff5c9c576e75 ftrace: Add support for function argument to graph tracer
533c20b062d7 ftrace: Add print_function_args()
3d44e1d1575a md: switch personalities to use md_submodule_head
3d44e1d1575a md: switch personalities to use md_submodule_head
builds fine.
533c20b062d7 ftrace: Add print_function_args()
is the first one to fail but with:
kernel/trace/trace_output.c: In function ‘print_function_args’:
kernel/trace/trace_output.c:724:26: error: ‘FTRACE_REGS_MAX_ARGS’ undeclared (first use in this function)
724 | if (a == FTRACE_REGS_MAX_ARGS) {
| ^~~~~~~~~~~~~~~~~~~~
kernel/trace/trace_output.c:724:26: note: each undeclared identifier is reported only once for each function it appears in
then
ff5c9c576e75 ftrace: Add support for function argument to graph tracer
shows
aarch64-linux-gnu-ld: Unexpected GOT/PLT entries detected!
aarch64-linux-gnu-ld: Unexpected run-time procedure linkages detected!
aarch64-linux-gnu-ld: kernel/trace/trace_output.o: in function `print_function_args':
/home/chrloe01/development/linux-mainline/kernel/trace/trace_output.c:711: undefined reference to `btf_find_func_proto'
aarch64-linux-gnu-ld: /home/chrloe01/development/linux-mainline/kernel/trace/trace_output.c:715: undefined reference to `btf_get_func_param'
make[2]: *** [scripts/Makefile.vmlinux:77: vmlinux] Error 1
make[1]: *** [/data_nvme1n1/chrloe01/development/linux-mainline/Makefile:1226: vmlinux] Error 2
make: *** [Makefile:251: __sub-make] Error 2
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j16 -s Image 5747.92s user 554.69s system 830% cpu 12:38.50 total
fails just like reported linus' tree.
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: [GIT PULL] ftrace: Updates for 6.15
2025-03-31 16:57 ` Christian Loehle
2025-04-01 11:26 ` Christian Loehle
@ 2025-04-01 11:31 ` Leon Romanovsky
2025-04-01 14:10 ` Steven Rostedt
1 sibling, 1 reply; 6+ messages in thread
From: Leon Romanovsky @ 2025-04-01 11:31 UTC (permalink / raw)
To: Christian Loehle
Cc: pr-tracker-bot@kernel.org, Steven Rostedt, Linus Torvalds,
Hongyan Xia, LKML, Masami Hiramatsu, Mark Rutland,
Mathieu Desnoyers, Andrew Morton, Haiyue Wang, Jiapeng Chong,
Sasha Levin, Sven Schnelle, Tengda Wu
On Mon, Mar 31, 2025 at 04:57:53PM +0000, Christian Loehle wrote:
>
>
> ________________________________________
> From: pr-tracker-bot@kernel.org <pr-tracker-bot@kernel.org>
> Sent: 28 March 2025 00:09
> To: Steven Rostedt <rostedt@goodmis.org>
> Cc: Linus Torvalds <torvalds@linux-foundation.org>; LKML <linux-kernel@vger.kernel.org>; Masami Hiramatsu <mhiramat@kernel.org>; Mark Rutland <Mark.Rutland@arm.com>; Mathieu Desnoyers <mathieu.desnoyers@efficios.com>; Andrew Morton <akpm@linux-foundation.org>; Haiyue Wang <haiyuewa@163.com>; Jiapeng Chong <jiapeng.chong@linux.alibaba.com>; Sasha Levin <sashal@kernel.org>; Sven Schnelle <svens@linux.ibm.com>; Tengda Wu <wutengda@huaweicloud.com>
> Subject: Re: [GIT PULL] ftrace: Updates for 6.15
>
>
> >The pull request you sent on Tue, 25 Mar 2025 19:39:35 -0400:
> >
> >> git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace.git ftrace-v6.15
> >
> >has been merged into torvalds/linux.git:
> >https://git.kernel.org/torvalds/c/31eb415bf6f06c90fdd9b635caf3a6c5110a38b6
> >
> >Thank you!
> >
> >--
> >Deet-doot-dot, I am a bot.
> >https://korg.docs.kernel.org/prtracker.html
>
> Hi Steven,
> I'm pretty sure this causes the build to fail on linus' tree and next:
> 4e82c87058f4 (HEAD -> master, origin/master, origin/HEAD) Merge tag 'rust-6.15' of git://git.kernel.org/pub/scm/linux/kernel/git/ojeda/linux
>
> aarch64-linux-gnu-ld: Unexpected GOT/PLT entries detected!
> aarch64-linux-gnu-ld: Unexpected run-time procedure linkages detected!
> aarch64-linux-gnu-ld: kernel/trace/trace_output.o: in function `print_function_args':
> /home/chrloe01/development/linux-mainline/kernel/trace/trace_output.c:712: undefined reference to `btf_find_func_proto'
> aarch64-linux-gnu-ld: /home/chrloe01/development/linux-mainline/kernel/trace/trace_output.c:716: undefined reference to `btf_get_func_param'
> make[2]: *** [scripts/Makefile.vmlinux:77: vmlinux] Error 1
> make[1]: *** [/data_nvme1n1/chrloe01/development/linux-mainline/Makefile:1234: vmlinux] Error 2
> make: *** [Makefile:251: __sub-make] Error 2
We see same issue in our CI systems.
13:29:09 + make -s -j64 ARCH=x86
13:32:31 ld: kernel/trace/trace_output.o: in function `print_function_args':
13:32:31 /home/jenkins/agent/workspace/kernel_build/linux/kernel/trace/trace_output.c:713:(.text+0x20f1): undefined reference to `btf_find_func_proto'
13:32:31 ld: /home/jenkins/agent/workspace/kernel_build/linux/kernel/trace/trace_output.c:717:(.text+0x210d): undefined reference to `btf_get_func_param'
13:32:31 make[2]: *** [scripts/Makefile.vmlinux:77: vmlinux] Error 1
13:32:31 make[1]: *** [/home/jenkins/agent/workspace/kernel_build/linux/Makefile:1234: vmlinux] Error 2
13:32:31 make: *** [Makefile:251: __sub-make] Error 2
Thanks
>
> Sound familiar?
> grep BTF .config
> CONFIG_DEBUG_INFO_BTF=y
> CONFIG_PAHOLE_HAS_SPLIT_BTF=y
> CONFIG_DEBUG_INFO_BTF_MODULES=y
> # CONFIG_MODULE_ALLOW_BTF_MISMATCH is not set
>
> Enabling CONFIG_PROBE_EVENTS_BTF_ARGS passes the build.
>
>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [GIT PULL] ftrace: Updates for 6.15
2025-04-01 11:31 ` Leon Romanovsky
@ 2025-04-01 14:10 ` Steven Rostedt
0 siblings, 0 replies; 6+ messages in thread
From: Steven Rostedt @ 2025-04-01 14:10 UTC (permalink / raw)
To: Leon Romanovsky
Cc: Christian Loehle, pr-tracker-bot@kernel.org, Linus Torvalds,
Hongyan Xia, LKML, Masami Hiramatsu, Mark Rutland,
Mathieu Desnoyers, Andrew Morton, Haiyue Wang, Jiapeng Chong,
Sasha Levin, Sven Schnelle, Tengda Wu
On Tue, 1 Apr 2025 14:31:59 +0300
Leon Romanovsky <leon@kernel.org> wrote:
> We see same issue in our CI systems.
>
> 13:29:09 + make -s -j64 ARCH=x86
> 13:32:31 ld: kernel/trace/trace_output.o: in function `print_function_args':
> 13:32:31 /home/jenkins/agent/workspace/kernel_build/linux/kernel/trace/trace_output.c:713:(.text+0x20f1): undefined reference to `btf_find_func_proto'
> 13:32:31 ld: /home/jenkins/agent/workspace/kernel_build/linux/kernel/trace/trace_output.c:717:(.text+0x210d): undefined reference to `btf_get_func_param'
> 13:32:31 make[2]: *** [scripts/Makefile.vmlinux:77: vmlinux] Error 1
> 13:32:31 make[1]: *** [/home/jenkins/agent/workspace/kernel_build/linux/Makefile:1234: vmlinux] Error 2
> 13:32:31 make: *** [Makefile:251: __sub-make] Error 2
Looks like a dependency is missing and/or an #ifdef block needs to be added.
Thanks for the report, I'll take a look into it.
-- Steve
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2025-04-01 14:09 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-03-25 23:39 [GIT PULL] ftrace: Updates for 6.15 Steven Rostedt
2025-03-28 0:09 ` pr-tracker-bot
2025-03-31 16:57 ` Christian Loehle
2025-04-01 11:26 ` Christian Loehle
2025-04-01 11:31 ` Leon Romanovsky
2025-04-01 14:10 ` Steven Rostedt
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox