DFSSPMxx member of the IMS PROCLIB data set

Use the DFSSPMxx member of the IMS PROCLIB data set to override the default buffer definitions for the storage pools managed by the DFSPOOL storage manager.

The storage pools that are managed by the DFSPOOL storage manager include:

  • AOIP
  • CESS
  • CIOP
  • CMDP
  • DYNP
  • EMHB
  • FPWP
  • HIOP
  • LUMC
  • LUMP

xx is the 2-character suffix specified in the SPM= startup parameter.

Default storage pool definitions are generated by IMS. Each definition contains information about the pool including the default buffer definitions.

Table 1. Storage pools and their locations
Storage pool Where the pool is allocated
AOIP Extended private
CESS Subpool 231 ECSA
CIOP 24-bit private
CMDP Extended private
DYNP Extended private
EMHB Subpool 231 ECSA
EPCB Subpool 231 ECSA
FPWP Extended private
HIOP Extended private
LUMC Subpool 231 ECSA
LUMP Extended private

The buffer size definitions contain the buffer sizes that the storage manager is allowed to choose from when allocating a buffer from the pool. For each buffer size, the definition specifies how many buffers to obtain in the primary block, how many buffers to obtain in secondary blocks, and whether to obtain the primary block when the pool is allocated. If the primary block is obtained during initialization, it is not released during compression.

Syntax

Read syntax diagramSkip visual syntax diagramFPL= poolname,,(size,pbuf,sbuf,init)

Restrictions

If you establish an FDBR region, all pool names that you specify are ignored. The FDBR region internally specifies the following values for all pools regardless of whether they are explicitly specified by the control statements or defined as default in the system definition process:
2
Number of buffers in the primary storage allocation
2
Number of buffers in secondary storage allocation
N
Primary storage allocation during IMS initialization =

Usage

The buffer definitions shown in Table 2 are the existing default definitions.

For all pools, 16 bytes are added to the buffer sizes for prefix and suffix information. For AOIP, CIOP, CMDP, HIOP, EMHB, LUMP, LUMC, and SPAP pools, an additional 8 bytes are added for the overlay detection constant.

IMS Fast Path (IFP) dependent regions also use EMHB pools. IFP dependent regions use a value equal to the largest EMHB as the value for the EPSTESRT buffer. This amount of storage is used in addition to the number of buffers in the primary or secondary storage allocation that you define for EMHB pools in member DFSSPMxx. For example, if you had 100 terminals using 1 buffer of primary storage each, then you would specify 100 as the number of buffers in the primary storage allocation. But if you also had 50 IFP dependent regions using EMHB, the actual number of buffers used in the primary storage would be 150.

For EMHB, the buffer size includes the prefix and data portion. For information about the prefix length, see the EMHBHL field of the expedited message handler block control block that is mapped by the DBFEMHB macro.

Table 2. Default buffer definitions for storage pools managed by the DFSPOOL storage manager
AOIP
  Buffer 1 Buffer 2 Buffer 3 Buffer 4 Buffer 5 Buffer 6 Buffer 7 Buffer 8
Size 48 132 256 576 1048 2096 4192 32 768
Primary Allocation 50 500 100 32 16 8 4 4
Secondary Allocation 50 1500 100 32 8 4 2 2
Obtain primary allocation? Yes No No No No No No No
CIOP
  Buffer 1 Buffer 2 Buffer 3 Buffer 4 Buffer 5 Buffer 6 Buffer 7 Buffer 8
Size 256 512 1024 2048 4096 8192 16 384 32 768
Primary Allocation 64 32 32 32 16 8 4 4
Secondary Allocation 32 16 16 16 8 4 2 2
Obtain primary allocation? Yes No No No No No No No
CMDP, EMHB
  Buffer 1 Buffer 2 Buffer 3 Buffer 4 Buffer 5 Buffer 6 Buffer 7 Buffer 8
Size 256 512 1024 2048 4096 8192 16 384 32 768
Primary Allocation 64 64 32 32 16 8 4 4
Secondary Allocation 32 32 16 16 8 4 2 2
Obtain primary allocation? No No No No No No No No
CESS
  Buffer 1 Buffer 2 Buffer 3 Buffer 4 Buffer 5 Buffer 6 Buffer 7 Buffer 8
Size 128 256 512 1024 2048 4096 8192 16 384
Primary Allocation 32 32 32 32 32 16 8 4
Secondary Allocation 16 16 16 16 16 8 4 2
Obtain primary allocation? Yes No No No No No No No
DYNP
  Buffer 1 Buffer 2 Buffer 3 Buffer 4 Buffer 5 Buffer 6 Buffer 7 Buffer 8 Buffer 9
Size 256 512 768 1024 2048 3072 4096 8192 32768
Primary Allocation 32 32 32 32 16 12 8 4 4
Secondary Allocation 16 16 16 16 8 12 8 2 2
Obtain primary allocation? No No No No No No No No No
FPWP
  Buffer 1 Buffer 2 Buffer 3 Buffer 4 Buffer 5 Buffer 6 Buffer 7 Buffer 8
Size 25 51 102 2048 4096 8192 16 384 32 768
Primary Allocation 6 6 3 32 16 8 4 4
Secondary Allocation 3 3 1 16 8 4 2 2
Obtain primary allocation?         No No No No
HIOP
  Buffer 1 Buffer 2 Buffer 3 Buffer 4 Buffer 5 Buffer 6 Buffer 7 Buffer 8 Buffer 9
Size 256 512 1024 2048 4096 8192 16 384 32 768 65 536
Primary Allocation 64 64 32 32 16 8 4 4 4
Secondary Allocation 32 32 16 16 8 4 2 2 2
Obtain primary allocation? No No No No No No No No No
LUMC
  Buffer 1 Buffer 2 Buffer 3 Buffer 4 Buffer 5 Buffer 6 Buffer 7 Buffer 8
Size 128 256 512 1024 2048 3064 4096 33 024
Primary Allocation 32 32 32 32 16 12 8 4
Secondary Allocation 32 16 16 16 8 12 8 2
Obtain primary allocation? No No No No No No No No
LUMP
  Buffer 1 Buffer 2 Buffer 3 Buffer 4 Buffer 5 Buffer 6 Buffer 7 Buffer 8 Buffer 9 Buffer 10 Buffer 11
Size 128 256 512 1024 2048 3064 4096 5120 33024 38144 65536
Primary Allocation 32 32 32 32 16 12 8 8 4 8 4
Secondary Allocation 32 16 16 16 8 12 8 8 2 8 2
Obtain primary allocation? No No No No No No No No No No No

You can define a maximum of 32 different buffer sizes that can be used to satisfy requests for storage. The size of the buffer that is used to satisfy a request is determined on a best-fit basis.

The FPL= statement is used to specify buffer definition overrides. Multiple buffer definitions are allowed on a single statement. You can have one or more FPL= statements within the DFSSPMxx member. If the member contains more than 32 buffer definitions for a single pool, only the first 32 are used. Remaining definitions are ignored.

DFSSPMxx is not required to initialize IMS. It is intended only to override existing IMS storage pool definitions; therefore, no default member is supplied.

If an FPL= is incorrectly specified, message DFS0639W is issued. One message is issued for each occurrence of an invalid parameter.

Parameters

FPL=
Is the required keyword for IMS storage pool buffer override definitions. This keyword must be in position 1. The FPL= statement cannot be continued; however, more than one statement is allowed per pool.
poolname
Is the four-character name of the IMS storage pool. The valid names are:
  • AOIP
  • CESS
  • CIOP
  • CMDP
  • DYNP
  • EMHB
  • FPWP
  • HIOP
  • LUMC
  • LUMP
size
Specifies the buffer size, in bytes. The value must be a one- to five-digit number between 8 and 65536. The buffer size is rounded up to the next multiple of 8. If the rounded value is not unique, it is discarded. You can specify values in 1K increments; that is, 1K, 2K, 3K, up to 64K.
pbuf
Specifies the number of buffers in the primary storage allocation. The value must be a one- to five-digit number between 2 and 65535. If the size of the primary allocation exceeds the upper expansion limit, the default is 2.
sbuf
Specifies the number of buffers in secondary storage allocations. The value must be a one- to five-digit number between 2 and 65535. If the size of the primary allocation exceeds the upper expansion limit, the default is 2.
init
Specifies whether (Y) or not (N) the primary storage allocation is obtained during IMS initialization. If the primary storage allocation is not obtained during initialization, it is not obtained until it is necessary to satisfy a buffer request. If an upper expansion limit is specified for the pool, and the size of either the primary or secondary storage allocation exceeds the upper expansion limit, the upper expansion limit is set to the default value of 2G-1.

Examples

The following are examples of how the DFSSPMxx member of the IMS PROCLIB data set can be used to override the default buffer definitions for the CIOP pool.
FPL=CIOP,(248,20,15,Y),(500,20,10,N),(1016,15,8,Y)
FPL=CIOP,(2040,15,8,N),(4088,10,5,N),(8184,10,5,N)
FPL=CIOP,(16K,8,4,N),(32K,4,2,N)

The buffer sizes being defined range from 248 to 32 768 (32K) bytes. Each buffer size is rounded up to the next multiple of 8, and 8 bytes are added for internal processing. Table 3 shows the values used by the Storage Manager when allocating CIOP storage for the definition in the example.

Table 3. Primary and secondary buffer allocations
Buffer size Primary buffer allocation Secondary buffer allocation Obtain primary allocation?
256 20 15 Y
512 20 10 N
1024 15 8 Y
2048 15 8 N
4096 10 5 N
8192 10 5 N
16392 8 4 N
32776 4 2 N