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

Reply via email to