aries.5 (2010 09)

a
ARIES(5) ARIES(5)
(HP Integrity Systems Only)
Maximum Number of Threads
A PA-RISC application can create a maximum of 85 threads under 32-bit ARIES and 438 threads under
64-bit ARIES with the default values of ARIES options and the kernel tunable parameters,
pa_maxssiz_32bit and pa_maxssiz_64bit.
Make sure that the kernel tunable parameter max_thread_proc value is sufficiently large to create the
required number of threads.
Increase the value of ARIES option
-heap_ssz if your application requires more number of threads
than allowed by default under ARIES.
NOTE: The free memory in AMA is not automatically used for application stack or ARIES heap.
Appropriate ARIES option must be specified to change the size of particular memory area in AMA.
EMULATION OF MxN THREADS UNDER ARIES
ARIES supports PA-RISC applications which are linked with MxN pthreads library. From HP-UX 11i
Version 2 (and above), the PA-RISC pthreads library delivered on Integrity systems is MxN enabled.
Due to underlying design complexities of true emulation of MxN threads under ARIES, the correctness
and reliability may need to be compromised. Hence ARIES is designed to support emulation of PA-RISC
HP-UX applications, linked with MxN pthreads library, in traditional 1x1 mode by forcing environment
variable
PTHREAD_COMPAT_MODE
to 1.
The ARIES policy to emulate MxN threads as traditional 1x1 thread is not likely to change in current or
future HP-UX releases.
EMULATION OF PA-RISC APPLICATION STACK UNDER ARIES
The stack allocated by the Integrity HP-UX kernel is used by ARIES as its own native stack. Stack for
the PA-RISC applications is allocated by ARIES from the AMA area.
Most PA-RISC applications run as expected with default stack size set by ARIES. However, if your
PA-RISC application fails with a core dump, with the following error message, then you should increase
the PA-RISC application stack size by using ARIES option
-ssz in the ARIES RC file.
[HP ARIES32]: ARIES Limitation [PID: xxxx]
[HP ARIES32]:
[HP ARIES32]: ARIES cannot proceed emulation because
[HP ARIES32]:
[HP ARIES32]: PID xxxx received SIGSEGV for stack growth failure.
[HP ARIES32]: Possible causes - insufficient memory or swap space, or
[HP ARIES32]: PA-RISC application stack size exceeded maximum available
[HP ARIES32]: stack size in ARIES.
[HP ARIES32]:
[HP ARIES32]: Increase the value of -ssz ARIES parameter and kernel
[HP ARIES32]: tunable pa_maxssiz_32bit.
[HP ARIES32]:
[HP ARIES32]: ARIES does not support applications which are nearly
[HP ARIES32]: or completely maxed out on their data segment address
[HP ARIES32]: space usage. This is because ARIES consumes small amount
[HP ARIES32]: of virtual memory address space of the emulated
[HP ARIES32]: application.
[HP ARIES32]:
[HP ARIES32]: Terminating emulation
How ARIES Sets PA-RISC Application Stack Size
At process startup time, ARIES uses following criteria to set the stack size for the PA-RISC application.
1. ARIES option
-ssz value if -ssz is specified in the ARIES RC file.
2. The stack size value inherited from the parent process, If the ARIES option
-ssz is not present in
the ARIES RC file.
In most cases, the stack size value inherited from the parent process is the current value of kernel
tunable parameter maxssiz ,orthe
ulimit -s value in the shell.
For details on the maximum possible stack size under ARIES, Refer to the Relation Between
pa_maxssiz_32|64bit and ARIES Parameters section in this manpage for more details.
12 Hewlett-Packard Company 12 HP-UX 11i Version 3: September 2010