Question about our default pthread stack size
Alexander Nedotsukov
bland at FreeBSD.org
Mon Nov 29 00:12:06 PST 2004
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
>
>
>
>
More information about the freebsd-threads
mailing list