ftrace: Show a list of all functions that have ever been enabled
authorSteven Rostedt (Google) <rostedt@goodmis.org>
Tue, 24 Jan 2023 14:56:53 +0000 (09:56 -0500)
committerSteven Rostedt (Google) <rostedt@goodmis.org>
Tue, 21 Mar 2023 18:00:10 +0000 (14:00 -0400)
commite11b521a7b69c2621bb2e5920bb96f6d2facdc7e
tree9c56b9fb5c5536911e206cf8466d4afac640b77f
parent8328e36da9cd8cb051394630e910cbb461f7e3ec
ftrace: Show a list of all functions that have ever been enabled

When debugging a crash that appears to be related to ftrace, but not for
sure, it is useful to know if a function was ever enabled by ftrace or
not. It could be that a BPF program was attached to it, or possibly a live
patch.

We are having crashes in the field where this information is not always
known. But having ftrace set a flag if a function has ever been attached
since boot up helps tremendously in trying to know if a crash had to do
with something using ftrace.

For analyzing crashes, the use of a kdump image can have access to the
flags. When looking at issues where the kernel did not panic, the
touched_functions file can simply be used.

Link: https://lore.kernel.org/linux-trace-kernel/20230124095653.6fd1640e@gandalf.local.home
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Tested-by: Mark Rutland <mark.rutland@arm.com>
Tested-by: Chris Li <chriscli@google.com>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
include/linux/ftrace.h
kernel/trace/ftrace.c