- You enable dynamic expansion by coding the xpanno and xpanpt operands on the buffer
pool start option.
- The buffer pool size reaches the point specified by xpanpt.
- VTAM® acquires more buffers
in blocks to accommodate the increased demand. The size of the blocks
is specified by xpanno. VTAM acquires buffers as needed until the pool
size reaches xpanlim (if specified).
- Contraction is determined by xpanno and xpanpt. The xpanno value
used is the xpanno value that was specified
when VTAM was started, but
rounded upward to the number of buffers that fills the nearest whole
page of storage. If the buffer pool is the IO00 or TI00, when the
number of available buffers is greater than or equal to (3 x xpanno) + xpanpt, VTAM verifies that the buffers
that it acquired in previous expansions of the pool are not in use.
For all other pools, the value is (2 x xpanno) + xpanpt. (If they are not, VTAM releases these buffers in blocks (as when
they are acquired). If any of the buffers in a block are in use, VTAM does not release that block
of buffers.
Figure 1 shows the structure of a pool
after basic allocation A and after one dynamic expansion of the pool
B.
Figure 1. Buffer pool after initial allocation and after
one expansion
- A
- This example shows a buffer pool for which the start options were
specified as poolname=(10,bufsize,1,,5,2,xpanlim). After initial allocation, the pool contains ten buffers (baseno=10),
the length in bytes of each buffer is bufsize, the slowdown
point (slowpt) is one, the expansion size (xpanno) is
5 (assume that five buffers fill one page of storage), and the expansion
point (xpanpt) is 2. The maximum allowed size of this buffer
pool is determined by the value xpanlim.
- B
- After one expansion, there are 15 buffers in the pool. Each of
the five additional buffers has a length of bufsize and the
same expansion point and slowdown point as before.