Hi! I have a device with only 16MB of memory and I want to run threaded applications on it. The size of allocated stack space in uClibc's implementation of pthread_create equals to the stack size limit as returned by ulimit -s (or the default for the current architecture if the limit is set to 'unlimited' which is 2MB for MIPS). The problem is that the limit on my 16MB box is somehow set to 8MB for all processes which is a half of available RAM so the allocation fails. If I enable aggressive overcommit (echo 1 > /proc/sys/vm/overcommit_memory) or lower the limit (ulimit -s 2048 or ulimit -s unlimited) then everything works like a charm.
Where is the 8MB stack size limit set? BTW I use openwrt trunk, uClibc 0.9.32 with nptl, everything else is default. -- Alexander
signature.asc
Description: PGP signature
_______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel