Integrator components on z/OS are compiled using the XPLINKage (extra performance linkage), which adds optimization to the runtime code. However, if the initial stack size is not large enough, stack extents are used. 128 KB is used in each extent. Ensure that you choose a large enough downward stack size because the performance of XPLINK can be affected when stack extents are used.
To determine suitable stack sizes, a component administrator for z/OS can use the LE (Language Environment®) Report Storage tool.
export _CEE_RUNOPTS=XPLINK\(ON\),RPTSTG(ON)You can then override the default values for the stack sizes on z/OS by altering or adding the LE_CEE_RUNOPTS environment variable in the component profile.
export _CEE_RUNOPTS=XPLINK(ON),THREADSTACK(ON,50K,15K,ANYWHERE,KEEP,512K,128K)
When you use RPTSTG, it increases the time that an application takes to run, so use it as an aid to the development of message flows only, and not in your final production environment. When you have determined the correct stack sizes needed, remove this option from the _CEE_RUNOPTS environment variable.
XPLINK stacks grow downward in virtual storage while the standard linkage grows upward. To avoid a performance impact caused by switching between downward stack space and upward stack space during run time, compile user-defined extensions using the XPLINK option where possible. If your message flow uses user-defined extensions that have been compiled with the standard linkage convention, set a suitable value for the upward stack size.