* [GIT PULL] ftrace: Updates for v7.4
@ 2026-10-22 19:39 Steven Rostedt
2026-10-23 22:26 ` pr-tracker-bot
0 siblings, 1 reply; 2+ messages in thread
From: Steven Rostedt @ 2026-10-22 19:39 UTC (permalink / raw)
To: Linus Torvalds
Cc: LKML, Masami Hiramatsu, Mathieu Desnoyers, Mark Rutland,
Andrew Morton, Aaron Ahmed, Jose Fernandez (Anthropic),
Yun Zhou, pengdonglin
Linus,
[
Note, there's a slight conflict with Masami's probes pull request as they
both touch code in kernel/trace/trace_btf.h where one touches a parameter
in a prototype and the other adds a new prototype near that location.
It should be a trivial fix up.
]
ftrace updates for v7.4:
- Have the stacktrace option work with func-args
The func_stack_trace option has it's own ftrace handler and so does the
func-args option. When they are both set, neither would run. The function
tracer itself would error out.
Allow the stacktrace and function args to work together.
- Avoid BTF lookup in atomic context
The ftrace_dump() can call function graph tracing output from an atomic
context (like an NMI watchdog going off). The BTF lookup is not safe to
call from atomic context. Have btf_find_func_proto() return if in atomic
context.
- Build trace_btf.c when CONFIG_DEBUG_INFO_BTF is enabled
New code is depending on trace_btf.c but that only gets built when
BPF_SYSCALL is also enabled. As the new code doesn't depend on that, have
trace_btf.c get built with just DEBUG_INFO_BTF set.
- Have function graph return values have BTF processing
Have the return values printed by the function graph tracer use BTF to
print the values in better format. For example, if it's a char, short,
signed or unsigned, print according to the value defined by BTF.
- Add a "max" field to the function profiler stats
The function profiler shows all the functions run in the kernel, the
number of times they are called, and the total time they took up. Also add
a "max" field which holds the longest time a function ran for.
- Fix memory leak in module with all skipped functions
On module load, the ftrace entries are recorded to keep track of what
functions can be traced or not. Some functions may be skipped for various
reasons (some defined by the architecture). If all functions in the module
are skipped, its data page is not freed and can leak. Catch this case and
free the empty page.
- Allow architectures to reject functions from being traced
Allow architectures to skip a function address by returning zero from
ftrace_call_adjust().
- Initialize modname and offset in print_rec()
The variables modname and offset are initialized by kallsyms_lookup().
If that fails, the values are not set, but the code continues to print
other information. The modname and offset are used later, but if the
kallsyms_lookup() failed, they will not be set.
If a module is being loaded and unloaded at the same time as reading
the available_filter_functions file, it can cause a fault due to the
lookup failing and modname and offset being used uninitialized.
Please pull the latest trace-ftrace-v7.4 tree, which can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace.git
trace-ftrace-v7.4
Tag SHA1: 653342b1940a468bfb7104867950db0d5c92a5d8
Head SHA1: e1f339ff3b83857b93baf8b88186275a413d445e
Aaron Ahmed (1):
ftrace: Initialize modname and offset in print_rec()
Jose Fernandez (Anthropic) (2):
ftrace: Do not leak a module's empty page group
ftrace: Let ftrace_call_adjust() reject a patch site
Steven Rostedt (1):
ftrace: Have stacktrace option work with func-args
Yun Zhou (1):
ftrace: Add max field to function profiler stats
pengdonglin (4):
tracing: Avoid BTF lookup in atomic context
ftrace: Build trace_btf.c when CONFIG_DEBUG_INFO_BTF is enabled
fgraph: Enhance funcgraph-retval with BTF-based type-aware output
tracing: Update funcgraph-retval documentation
----
Documentation/trace/ftrace.rst | 96 ++++++++++++++++++++++--------------
kernel/trace/Kconfig | 2 +-
kernel/trace/Makefile | 2 +-
kernel/trace/ftrace.c | 32 ++++++++++--
kernel/trace/trace_btf.c | 86 ++++++++++++++++++++++++++++++++
kernel/trace/trace_btf.h | 18 +++++++
kernel/trace/trace_functions.c | 5 +-
kernel/trace/trace_functions_graph.c | 56 ++++++++++++++++-----
8 files changed, 239 insertions(+), 58 deletions(-)
---------------------------
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [GIT PULL] ftrace: Updates for v7.4
2026-10-22 19:39 [GIT PULL] ftrace: Updates for v7.4 Steven Rostedt
@ 2026-10-23 22:26 ` pr-tracker-bot
0 siblings, 0 replies; 2+ messages in thread
From: pr-tracker-bot @ 2026-10-23 22:26 UTC (permalink / raw)
To: Steven Rostedt
Cc: Linus Torvalds, LKML, Masami Hiramatsu, Mathieu Desnoyers,
Mark Rutland, Andrew Morton, Aaron Ahmed,
Jose Fernandez (Anthropic),
Yun Zhou, pengdonglin
The pull request you sent on Thu, 22 Oct 2026 15:39:44 -0400:
> git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace.git trace-ftrace-v7.4
has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/b8a7a86e48927472cc84463c1f038783bd52093f
Thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/prtracker.html
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-10-23 22:26 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-10-22 19:39 [GIT PULL] ftrace: Updates for v7.4 Steven Rostedt
2026-10-23 22:26 ` pr-tracker-bot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®