I believe you're correct. 
I filed a doc bug for this:
6823267 STACKSIZE documentation should clarify affect on pthreads

--chris


Roland Mainz wrote:
> Hi!
> 
> ----
> 
> The cc(1) manual page says this about the "STACKSIZE" environment
> variable:
> -- snip --
> STACKSIZE
>   The executing program maintains a main memory
>   stack for the master thread and distinct stacks
>   for each slave thread. Stacks are temporary memory
>   address spaces used to hold arguments and
>   automatic variables over subprogram invocations.
>   The default size of the main stack is about eight
>   megabytes. Use the limit(1) command to display the
>   current main stack size as well as set it.
> 
>   Each slave thread of a multithreaded program has
>   its own thread stack.  This stack mimics the main
>   stack of the master thread but is unique to the
>   thread. The thread's private arrays and variables
>   (local to the thread) are allocated on the thread
>   stack.
> 
>   All slave threads have the same stack size, which
>   is four megabytes for 32-bit applications and
>   eight megabytes for 64-bit applications by
>   default. The size is set with the STACKSIZE
>   environment variable.
> 
>   Setting the thread stack size to a value larger
>   than the default may be necessary for some paral-
>   lelized code.
> 
>   The syntax of the STACKSIZE environment variable
>   accepts a keyword for denoting the slave thread
>   stacksize: B for Bytes, K for Kilobytes, M for
>   Megabytes, G for Gigabytes.
> 
>   For example, setenv STACKSIZE 8192 sets the slave
>   thread stack size to 8 MB. 1235B sets the slave
>   thread stack size for 1235 Bytes. 1235G  sets it
>   for 1235 Gigabytes. The default for an integer
>   value without a suffix letter is still Kilobytes.
> -- snip --
> 
> Who or what uses "STACKSIZE" and sets it ? A quick look into the libc
> sources shows that it isn't used there... and somehow I start to suspect
> that this variable is only used for threads managed by OMP + -xparallel
> but not for the main thread or for threads created "manually" via
> |pthread_create()|, right ?
> 
> ----
> 
> Bye,
> Roland
> 


Reply via email to