Fast Path buffer allocation algorithm for CCTL threads

When a CCTL thread issues a schedule request using FPB, buffers are allocated out of the CNBA total.

Unless CNBA=0 is specified or you are using the Fast Path 64-bit buffer manager, if FPB cannot be satisfied out of CNBA, the schedule request fails. When either CNBA=0 or the Fast Path 64-bit buffer manager is used, if FPB cannot be satisfied out of CNBA, IMS acquires additional buffers to allow the thread to schedule.

Before satisfying any request from the FPB allocation, an attempt is made to reuse any already allocated buffer containing an SDEP CI. This process goes on until the FPB 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 the CCTL threads.

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, OBA (FPOB). From that point on, any time a request cannot be satisfied locally, a buffer is acquired from the FPOB allocation until the FPOB limit is reached. At that time, CCTL threads have their 'FW' status code replaced by an 'FR' status code after an internal ROLB call is performed.