Fast Path buffer allocation algorithm
Fast Path buffers are allocated on demand up to a limit specified by the NBA parameter for each dependent region. Buffers so specified are called NBA to be used by one sync point interval.
Before satisfying any request from the NBA allocation, an attempt is made to reuse any already allocated buffer containing an SDEP CI. This process goes on until the NBA limit is reached. From that point on, a warning in the form of an FW status code returned to Fast Path database calls is sent to BMP regions. MD and MPP regions do not get this warning.
The next request for an additional buffer causes the buffer stealing facility to be invoked and then the algorithm examines each buffer and CI already allocated. As a result, buffers containing CIs being released are sent to a local queue (SDEP buffer chain) to be reused by this sync interval.
If, after invoking the buffer stealing facility, no available buffer is found, a request for the overflow buffer latch is issued. The overflow buffer latch governs the use of an additional buffer allocation called overflow buffer allocation (OBA). The OBA allocation is also specified as a parameter at region start time. From that point on, any time a request cannot be satisfied locally, a buffer is acquired from the OBA allocation until the OBA limit is reached. At that time, MD and BMP regions have their FW status code replaced by an FR status code after an internal ROLB call is performed. In MD and MPP regions, the transaction is abended and stopped.