mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-04 04:04:19 +00:00
ftrace/selftest: Test combination of function_graph tracer and function profiler
Masami reported a bug when running function graph tracing then the function profiler. The following commands would cause a kernel crash: # cd /sys/kernel/tracing/ # echo function_graph > current_tracer # echo 1 > function_profile_enabled In that order. Create a test to test this two to make sure this does not come back as a regression. Link: https://lore.kernel.org/172398528350.293426.8347220120333730248.stgit@devnote2 Link: https://lore.kernel.org/all/20241010165235.35122877@gandalf.local.home/ Acked-by: Masami Hiramatsu (Google) <mhiramat@kernel.org> Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org> Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
This commit is contained in:
parent
a0cc649353
commit
4ee5ca9a29
@ -0,0 +1,31 @@
|
||||
#!/bin/sh
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# description: ftrace - function profiler with function graph tracing
|
||||
# requires: function_profile_enabled set_ftrace_filter function_graph:tracer
|
||||
|
||||
# The function graph tracer can now be run along side of the function
|
||||
# profiler. But there was a bug that caused the combination of the two
|
||||
# to crash. It also required the function graph tracer to be started
|
||||
# first.
|
||||
#
|
||||
# This test triggers that bug
|
||||
#
|
||||
# We need both function_graph and profiling to run this test
|
||||
|
||||
fail() { # mesg
|
||||
echo $1
|
||||
exit_fail
|
||||
}
|
||||
|
||||
echo "Enabling function graph tracer:"
|
||||
echo function_graph > current_tracer
|
||||
echo "enable profiler"
|
||||
|
||||
# Older kernels do not allow function_profile to be enabled with
|
||||
# function graph tracer. If the below fails, mark it as unsupported
|
||||
echo 1 > function_profile_enabled || exit_unsupported
|
||||
|
||||
# Let it run for a bit to make sure nothing explodes
|
||||
sleep 1
|
||||
|
||||
exit 0
|
Loading…
Reference in New Issue
Block a user