PJ45598 – Recoverable system heap support
MichaelShershin 310000TN9P Visits (102)
Recoverable system heap is a new system heap area where contents are maintained across most IPLs.
Data in the recoverable system heap area survives an IPL unless one of the following conditions occurs:
With recoverable system heap support applied, there are the following system heap areas in the z/TPF system.
Recoverable system heap is intended to hold large data areas and caches. If it takes a large amount of I/O or processing to re-create the data areas following an IPL, these data areas should be in recoverable system heap.
New APIs have been created to manage recoverable system heap. The APIs are SHEAPC for assembler programs and tpf_sheapc() for C programs. Recoverable system heap buffers can only be managed (get, release, and find) by using the SHEAPC or tpf_sheapc() API. In addition, SHEAPC or tpf_sheapc() can be used to manage buffers in the 31-bit system heap and 64-bit system heap areas. One key requirement for the SHEAPC and tpf_sheapc() APIs are that a unique token must be provided. The unique token must be a character string that can be up to 64 characters.
Having a system heap area that survives an IPL creates new management challenges such as fragmentation and memory leaks (a.k.a. orphaned buffers). The ZMRSH command was created to help manage these challenges.
Recoverable system heap is allocated and used when PJ45598 is installed. A minimum of 10 MB of recoverable system heap must be allocated. A CCCPSE internal trace table is allocated in recoverable system heap so that dump information can survive a catastrophic dump.
For more information, see APAR PJ45598.