Previous Topic: NCPView Buffers, Pools, and Control Blocks

Next Topic: Control Blocks


Buffers and Pools

Immediately after the NCP has been loaded into the communications controller, NCP formats all remaining controller storage space into buffers, the size of which is specified when the NCP is generated. Buffers form chains, with each one except the last containing a pointer to another buffer. The buffer chain is also known as the system free buffer pool, a dynamic collection of buffers that can be taken (leased) as needed to contain data. When the data in buffers is no longer needed, the buffers are reattached (released) to the free buffer pool.

Buffers can be set aside to receive incoming data—these buffers are known as committed buffers. Committed buffers are not counted as available when the slowdown status is calculated.

Buffers contain path information unit (PIU) messages from access methods in channel-attached host processors, other NCPs, and from link-attached devices and control blocks.

Buffers can contain dynamically allocated control blocks when there are no more available reserved control blocks in the appropriate pools, as defined in the generation definition.

When defining pools in the generation definition, space can be reserved for control blocks. The pool can be defined to contain a particular number of control blocks. NCPView may indicate that a pool is being used to almost its capacity—if this occurs it is recommended that the NCP generation definition be changed accordingly and the size of the pool increased.