Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 29 Nov 2004 17:11:42 +0900
From:      Alexander Nedotsukov <bland@FreeBSD.org>
To:        Craig Rodrigues <rodrigc@crodrigues.org>
Cc:        freebsd-threads@FreeBSD.org
Subject:   Re: Question about our default pthread stack size
Message-ID:  <41AAD9BE.102@FreeBSD.org>
In-Reply-To: <20041126185658.GA4213@crodrigues.org>
References:  <Pine.GSO.4.43.0411220058300.29589-100000@sea.ntplx.net> <41A1A3A5.20601@FreeBSD.org> <20041126185658.GA4213@crodrigues.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Craig Rodrigues wrote:

>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?
>  
>
This time it was libburn which did on stack reservation for its data 
structures which just exeeds 64K. Another sample could be gstreamer 
which is much more stack hungry.

>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:
>  
>
Yep. It is. If this going to be commited please bump __FreeBSD_version 
so we'll be able to conditionaly remove current hacks.

Thanks,
Alexander.

>
>--- /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
>
>
>  
>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?41AAD9BE.102>