Parmlib member for communications storage manager (CSM)

Starting in z/OS® V2R2 Communications Server, communications storage manager (CSM) supports storage above the 64-bit address bar.

The IVTPRM00 parmlib member sets parameters for CSM storage. IVTPRM00 is read during CSM initialization as a result of the first issuance of the IVTCSM REQUEST=CREATE_POOL macro. (z/OS Communications Server issues this macro when started.) These definitions can also be changed without requiring a re-IPL by editing the IVTPRM00 member and issuing the MODIFY CSM command without specifying the parameters on the command.

The parameter member IVTPRM00 can be found in:
  • A data set defined by the PARMLIB DD statement in the TSO start procedure
  • A data set in the logical parmlib concatenation
  • SYS1.PARMLIB

IVTPRM00 has this format:

column |...+....1....+....2....+....3....+....4....+...

       FIXED MAX(maxfixK|M)

       ECSA MAX(maxecsaK|M)

       HVCOMM MAX(maxhvcommM)

       [POOL(bufsize, bufsource, initbuf, minfree, expbuf)]

Rules:
  • Each line in IVTPRM00 must start in column one.
  • FIXED and MAX or ECSA and MAX keywords must be separated by one or more spaces. It must be completed with its values on the same line.

The first three lines in the CSM parmlib member define the maximum amount of storage to be dedicated to fixed, ECSA, and HVCOMM buffers in CSM. Note that the fixed maximum represents the total fixed storage above and below the 2 GB bar. You can also specify one POOL definition for each CSM buffer pool of a particular bufsize and bufsource combination. If parameters are not provided for a given CSM buffer pool, the IBM®-supplied default values are used unless a program has provided these values on an IVTCSM REQUEST=CREATE_POOL macro.

This describes the variable fields in the CSM parmlib member:
maxfix
A decimal integer specifying the maximum bytes of fixed storage to be dedicated for use by CSM. The range is from 1024 KB to 30720 MB. The default value is 200 MB.
maxecsa
A decimal integer specifying the maximum bytes of ECSA storage to be dedicated for use by CSM. The range is from 1024 KB to 2048 MB. The default is 100 MB.
Restriction: The maxecsa value should be less than 90% of the ECSA available on the z/OS system. CSM adjusts the maxecsa value to 90% of the system ECSA value and issues the message IVT5590I when the maxecsa value configured is larger than 90% of the ECSA available on the system.
maxhvcomm
A decimal integer specifying the maximum bytes of HVCOMM storage to be dedicated for use by CSM. The range is from 100 MB to 999999 MB. The default value is 2000 MB.
KB
Denotes size in kilobytes
MB
Denotes size in megabytes.
bufsize
Specifies the size of the buffers in the pool to be created. Valid pool sizes are 4 KB, 16 KB, 32 KB, 60 KB, and 180 KB. bufsize is required for each POOL definition.
bufsource
Specifies the storage source from which buffers are allocated. The values for bufsource are:
ECSA
Buffers are allocated from ECSA storage.
DSPACE
Buffers are allocated from data space storage.
HVCOMM
Buffers are allocated from high virtual common storage.

The bufsource variable is required for each POOL definition.

expbuf
Specifies the number of buffers by which the pool is expanded when the number of free buffers falls below the minfree value. The valid ranges for each CSM buffer pool size are as follows:
Bufsize
Range for Expbuf for ECSA and data space pools
4 KB
1 - 256
16 KB
1 - 256
32 KB
1 - 128
60 KB
1 - 68
180 KB
1 - 22
Bufsize
Range for Expbuf for HVCOMM pools
4 KB
1 - 1024
16 KB
1 - 512
32 KB
1 - 256
60 KB
1 - 136
180 KB
1 - 45

The expbuf variable is required for each POOL definition.

initbuf
Specifies the initial number of buffers to be created in the pool when the first IVTCSM REQUEST=CREATE_POOL macro is issued by an application. If this value is specified as 0, only the base pool structure is created. In this case, the pool will be expanded on the first IVTCSM REQUEST=GET_BUFFER based on the specification for expbuf. The pool will not contract below the level specified by either initbuf or expbuf, whichever is higher.

The range for initbuf is 0 - 9999. If initbuf is omitted, the IBM-supplied default value is used unless overridden by an application's CREATE_POOL request.

minfree
Specifies the minimum number of buffers to be free in the pool at any time. The storage pool will be expanded if the number of free buffers falls below this limit. The range for minfree is 0 - 9999. If minfree is omitted, the IBM-supplied default value is used unless overridden by an application's CREATE_POOL request.

Table 1 and Table 2 show the IBM-supplied default values for expbuf, initbuf, and minfree for the CSM buffer pools.

Table 1. IBM-supplied default values for CSM buffer pools for ECSA and data space
Bufsize 4 KB 16 KB 32 KB 60 KB 180 KB
EXPBUF 16 8 4 4 2
INITBUF 64 32 16 16 2
MINFREE 8 4 2 2 1
Table 2. IBM-supplied default values for CSM buffer pools for HVCOMM
Bufsize 4 KB 16 KB 32 KB 60 KB 180 KB
EXPBUF 256 64 32 17 5
INITBUF 256 64 32 17 5
MINFREE 32 8 4 4 2

z/OS system symbols can be used in IVTPRM00. See z/OS Communications Server: SNA Network Implementation Guide for more information about this function.

IBM Health Checker for z/OS can be used to check whether appropriate values are defined for the maximum amount of storage to be dedicated to fixed buffers and ECSA buffers in CSM. For more details about IBM Health Checker for z/OS, see IBM Health Checker for z/OS: User's Guide.

Table 3. 64 bit enablement of CSM
Task Reference
Optionally update the IVTPRM00 parmlib member to specify the parameters to use when you allocate storage for CSM buffer use above the bar. z/OS Communications Server: New Function Summary
Issue the D CSM command to monitor the use of storage above the bar that is managed by CSM. z/OS Communications Server: SNA Operation
Issue the MODIFY CSM command to update values for storage above the bar that is managed by CSM. z/OS Communications Server: SNA Operation