If you want to use the storage tuning user exit to perform
storage tuning of certain load modules that start Language Environment enclaves
you can use a storage tuning user exit that
provides values for the Language Environment runtime
options STACK, LIBSTACK, HEAP, ANYHEAP, and BELOWHEAP.
When running on non-CICS, the behavior of the storage tuning user exit could be
as follows:
- At the region initialization call, the storage tuning user exit allocates
and initializes a table that has storage tuning information for the
load modules it wants to tune.
The storage tuning user exit would need
to know which load modules it wants to tune and it would need to find
the storage values it wants to use for each load module. These values
could be in the storage tuning user exit itself
as constants, or could be in a file.
- At the enclave initialization call, the storage tuning user exit would do
a lookup in the table to see if the load module has storage tuning
information. If it does, the storage tuning information is provided
back to Language Environment.
Note: If the modules to be tuned are preloaded at region initialization
and their entry point addresses are kept in the table, a CSVQUERY
would not need to be done every time the module is run. Instead,
a search of the table could be done using the entry point address.
- At the region termination call, the storage tuning user exit frees any
resources it acquired.