Hi Stephen, On Sat, Oct 19, 2024 at 3:43 AM Steven Rostedt <[email protected]> wrote:
> The function graph infrastructure allocates a shadow stack for every task > when enabled. This includes the idle tasks. The first time the function > graph is invoked, the shadow stacks are created and never freed until the > task exits. This includes the idle tasks. (...) > Cc: [email protected] > Fixes: 868baf07b1a25 ("ftrace: Fix memory leak with function graph and cpu > hotplug") > Signed-off-by: Steven Rostedt (Google) <[email protected]> This patch regressed boot-time tracing for me. How to reproduce: - Enable CONFIG_FTRACE, CONFIG_FUNCTION_TRACER, CONFIG_BOOTTIME_TRACING - Pass command line ftrace=function_graph ftrace_graph_filter=do_idle to make ftrace trace this function all through the boot process. Before this patch: cd /sys/kernel/debug/tracing cat trace gives a nice trace of all invocations of do_idle() during boot. After this patch: cd /sys/kernel/debug/tracing cat trace Gives an empty trace :( And: cat current_tracer function_graph cat set_graph_function do_idle cat tracing_on 1 So all *is* set up, just not performing I tried to figure out why this happens but I'm not good with tracing internals. Any ideas? Yours, Linus Walleij
