Question about our default pthread stack size

Craig Rodrigues rodrigc at crodrigues.org
Fri Nov 26 10:57:01 PST 2004


On Mon, Nov 22, 2004 at 05:30:29PM +0900, Alexander Nedotsukov wrote:
> - main stream follows the stack usage rules I described above and chosen 
> 1MB/2MB for their default stacks size.
> - we have limit which most likely triggers SIGSEGV.


Alexander, what was the original application which you
were working with where you encountered this thread stack problem?
It would be good if multithreaded code that was written 
on Linux or Solaris worked as much as possible "out of the box",
especially large applications like GNOME.  Like it or not,
these are dominant platforms, and we might have to adjust
a bit to accomodate their quirks of large default thread stack size
(a developer can always decrease the stack size with
pthread_attr_setstacksize() if his application requires a smaller stack).

What is the patch that would be required to increase the
default stacksize in libpthread, so that mainstream
applicatons like GNOME, or the application you were working
with, would "just work"?

Is it something like:


--- /tmp/thr_private.h.orig	Fri Nov 26 13:50:16 2004
+++ /tmp/thr_private.h	Fri Nov 26 13:50:55 2004
@@ -450,14 +450,14 @@
 /*
  * Miscellaneous definitions.
  */
-#define THR_STACK_DEFAULT			65536
+#define THR_STACK_DEFAULT			0x100000
 
 /*
  * Maximum size of initial thread's stack.  This perhaps deserves to be larger
  * than the stacks of other threads, since many applications are likely to run
  * almost entirely on this stack.
  */
-#define THR_STACK_INITIAL			0x100000
+#define THR_STACK_INITIAL			0x200000
 
 /*
  * Define the different priority ranges.  All applications have thread


-- 
Craig Rodrigues        
http://crodrigues.org
rodrigc at crodrigues.org


More information about the freebsd-threads mailing list