Re: [PATCH/RFC] perf core: Allow setting up max frame stack depth via sysctl

From: David Ahern
Date: Wed Apr 20 2016 - 19:10:24 EST


On 4/20/16 4:47 PM, Arnaldo Carvalho de Melo wrote:
The new file is:

# cat /proc/sys/kernel/perf_event_max_stack
127

Chaging it:

# echo 256 > /proc/sys/kernel/perf_event_max_stack
# cat /proc/sys/kernel/perf_event_max_stack
256

But as soon as there is some event using callchains we get:

# echo 512 > /proc/sys/kernel/perf_event_max_stack
-bash: echo: write error: Device or resource busy
#

Because we only allocate the callchain percpu data structures when there
is a user, which allows for changing the max easily, its just a matter
of having no callchain users at that point.

Reported-by: Brendan Gregg <brendan.d.gregg@xxxxxxxxx>
Link: http://lkml.kernel.org/n/tip-cgls6uuncwjtq969tys1j6b0@xxxxxxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>


I would love to see something like this go in. Right now I have to recompile the kernel because I want a lower max count.

In the past we talked about about making this part of the attribute with separate controls for both kernel stack and userspace stack. Have you given up on that option?