openwrt_archive/toolchain/uClibc/patches-0.9.33.2/990-no-stack-cache.patch
Felix Fietkau 9f486ee669 uClibc: Deactivate oversized thread stack cache
A small system like the common home router doesn't have 40 MiB per process for
a dirty stack cache. This can easily lead to an overbooking OOM problem and
caused a lot of hangs+reboots on 32 MiB systems running nodogsplash.

Not using a stack cache can increase the time to spawn new threads. This is
hopefully no problem for system not running a lot of parallel computations.

Signed-off-by: Sven Eckelmann <sven@open-mesh.com>

SVN-Revision: 38851
2013-11-18 13:32:06 +00:00

12 lines
450 B
Diff

--- a/libpthread/nptl/allocatestack.c
+++ b/libpthread/nptl/allocatestack.c
@@ -100,7 +100,7 @@
/* Cache handling for not-yet free stacks. */
/* Maximum size in kB of cache. */
-static size_t stack_cache_maxsize = 40 * 1024 * 1024; /* 40MiBi by default. */
+static size_t stack_cache_maxsize = 0; /* embedded systems don't have enough ram for dirty stack caches */
static size_t stack_cache_actsize;
/* Mutex protecting this variable. */