linux_dsm_epyc7002/arch/arm
Arnaldo Carvalho de Melo c5dfd78eb7 perf core: Allow setting up max frame stack depth via sysctl
The default remains 127, which is good for most cases, and not even hit
most of the time, but then for some cases, as reported by Brendan, 1024+
deep frames are appearing on the radar for things like groovy, ruby.

And in some workloads putting a _lower_ cap on this may make sense. One
that is per event still needs to be put in place tho.

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-and-Tested-by: Brendan Gregg <brendan.d.gregg@gmail.com>
Reviewed-by: Frederic Weisbecker <fweisbec@gmail.com>
Acked-by: Alexei Starovoitov <ast@kernel.org>
Acked-by: David Ahern <dsahern@gmail.com>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: He Kuang <hekuang@huawei.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Milian Wolff <milian.wolff@kdab.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Vince Weaver <vincent.weaver@maine.edu>
Cc: Wang Nan <wangnan0@huawei.com>
Cc: Zefan Li <lizefan@huawei.com>
Link: http://lkml.kernel.org/r/20160426002928.GB16708@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2016-04-27 10:20:39 -03:00
..
boot mvebu fixes for 4.6 (part 1) 2016-04-12 12:35:07 -07:00
common Merge branch 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm 2016-03-19 16:31:54 -07:00
configs ARM: u8500_defconfig: turn on the Synaptics RMI4 driver 2016-03-30 00:26:15 +02:00
crypto Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2016-03-17 11:22:54 -07:00
firmware
include ARM: wire up preadv2 and pwritev2 syscalls 2016-04-07 21:57:02 +01:00
kernel perf core: Allow setting up max frame stack depth via sysctl 2016-04-27 10:20:39 -03:00
kvm arm64: KVM: unregister notifiers in hyp mode teardown path 2016-04-06 13:47:52 +02:00
lib
mach-alpine ARM: alpine: select the Alpine MSI controller driver 2016-02-26 22:57:22 +01:00
mach-artpec
mach-asm9260
mach-at91
mach-axxia
mach-bcm
mach-berlin
mach-clps711x
mach-cns3xxx ARM: SoC cleanups for v4.6 2016-03-20 14:37:22 -07:00
mach-davinci ARM: SoC platform updates for v4.6 2016-03-20 14:57:08 -07:00
mach-digicolor
mach-dove
mach-ebsa110
mach-efm32
mach-ep93xx
mach-exynos ARM: SoC platform updates for v4.6 2016-03-20 14:57:08 -07:00
mach-footbridge
mach-gemini
mach-highbank
mach-hisi
mach-imx ARM: SoC platform updates for v4.6 2016-03-20 14:57:08 -07:00
mach-integrator
mach-iop13xx
mach-iop32x
mach-iop33x
mach-ixp4xx This is the bulk of GPIO changes for kernel v4.6: 2016-03-17 21:05:32 -07:00
mach-keystone ARM: DT updates for v4.6 2016-03-20 15:15:48 -07:00
mach-ks8695 ARM: SoC non-urgent fixes for v4.6 2016-03-20 14:26:57 -07:00
mach-lpc18xx
mach-lpc32xx ARM: SoC cleanups for v4.6 2016-03-20 14:37:22 -07:00
mach-mediatek ARM: DT updates for v4.6 2016-03-20 15:15:48 -07:00
mach-meson
mach-mmp
mach-moxart
mach-mv78xx0 ARM: SoC cleanups for v4.6 2016-03-20 14:37:22 -07:00
mach-mvebu The clk changes for this release cycle are mostly dominated by 2016-03-23 06:06:45 -07:00
mach-mxs
mach-netx ARM: SoC cleanups for v4.6 2016-03-20 14:37:22 -07:00
mach-nomadik
mach-nspire ARM: SoC cleanups for v4.6 2016-03-20 14:37:22 -07:00
mach-omap1 ARM: SoC platform updates for v4.6 2016-03-20 14:57:08 -07:00
mach-omap2 ARM: DRA722: Add ID detect for Silicon Rev 2.0 2016-03-30 14:33:22 -07:00
mach-orion5x ARM: SoC cleanups for v4.6 2016-03-20 14:37:22 -07:00
mach-picoxcell
mach-prima2 ARM: SoC cleanups for v4.6 2016-03-20 14:37:22 -07:00
mach-pxa ARM: pxa: fix the number of DMA requestor lines 2016-03-29 20:59:18 +02:00
mach-qcom
mach-realview
mach-rockchip
mach-rpc
mach-s3c24xx ARM: SoC 64-bit changes for v4.6 2016-03-20 15:08:45 -07:00
mach-s3c64xx ARM: SoC platform updates for v4.6 2016-03-20 14:57:08 -07:00
mach-s5pv210
mach-sa1100 ARM: sa1100: remove references to the defunct handhelds.org 2016-04-12 12:34:15 -07:00
mach-shmobile The clk changes for this release cycle are mostly dominated by 2016-03-23 06:06:45 -07:00
mach-socfpga ARM: SoC non-urgent fixes for v4.6 2016-03-20 14:26:57 -07:00
mach-spear
mach-sti
mach-stm32
mach-sunxi
mach-tango
mach-tegra Here's another round of updates for -next: 2016-03-01 17:03:27 -05:00
mach-u300
mach-uniphier ARM: uniphier: drop weird sizeof() 2016-04-12 12:06:27 -07:00
mach-ux500 ARM: SoC cleanups for v4.6 2016-03-20 14:37:22 -07:00
mach-versatile
mach-vexpress
mach-vt8500
mach-w90x900 Merge branch 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm 2016-03-19 16:31:54 -07:00
mach-zx
mach-zynq ARM: SoC platform updates for v4.6 2016-03-20 14:57:08 -07:00
mm Merge branch 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm 2016-04-10 17:48:17 -07:00
net
nwfpe
oprofile
plat-iop
plat-omap
plat-orion Merge branch 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm 2016-03-19 16:31:54 -07:00
plat-pxa ARM: pxa: add the number of DMA requestor lines 2016-02-26 22:57:05 +01:00
plat-samsung MTD updates for v4.6 2016-03-24 19:57:15 -07:00
plat-versatile
probes
tools
vdso
vfp
xen
Kconfig ARM: SoC platform updates for v4.6 2016-03-20 14:57:08 -07:00
Kconfig-nommu
Kconfig.debug
Makefile ARM: SoC platform updates for v4.6 2016-03-20 14:57:08 -07:00