Change Pools (QWCCHGPL) API


 Required Parameter Group:


 Default Public Authority: *EXCLUDE

 Threadsafe: No

The Change Pools (QWCCHGPL) API changes how the system's memory is divided into storage pools. The Materialize Resource Management Data (MATRMD) machine interface instruction (options X'14', X'16', and X'2D' can be used to retrieve the current setting of this information. The Change Pool Attributes (QUSCHGPA) API can be used to change a single pool.


Authorities and Locks

None.


Required Parameter Group

Change request
INPUT; CHAR(*)

The variable containing the new pool information. See the formats for the definition of the fields for this parameter (POOL0100, POOL0200, POOL0300, and POOL0400).

Length of change request
INPUT; BINARY(4)

The length of the change request list. This area must be as large as the format specified.

Format name
INPUT; CHAR(8)

The format of the change request. You must use one of the following format names:

For more information about these formats, see Format of Information to be Changed.

Wait time
INPUT; BINARY(4)

The time, in seconds, that the API will wait for a response from the system indicating that the pool changes requested could be made. A value of -1 indicates the process default wait time should be used. A value of 0 indicates the API should not wait for a response. A minimum of 30 seconds should be used when the POOL0300 format is used to allocate a pool. If the system could not complete pool changes during this wait time message CPF1001 is issued. The change may or may not complete.

Format return value
OUTPUT; BINARY(4)

The resulting return value for the request. Format POOL0300 returns the system pool identifier for the allocated system pool request, or no value if an error occurs. For the other formats no value is returned. See Format Return Values.


Error code
I/O; CHAR(*)

The structure in which to return error information. For the format of the structure, see Error code parameter. If this parameter is omitted, diagnostic and escape messages are issued to the application.


Format of Information to be Changed

The variable containing the new pool information must use one of the following formats.


POOL0100 Format

The following table shows the information that must be specified in the change request parameter when POOL0100 is specified. The total length of the change request is 3328 for this format. For a detailed description of each field, see Field Descriptions.

When tuning is requested (values 1, 2, or 3 for the type of tuning field), the system periodically categorizes database objects into four different performance classes. The classes are:

Reference information for determining an object's class is collected periodically. It is collected by storage pool because an object's class varies over time and by storage pool.

Note: When a new system pool is created as a result of starting a subsystem, the type of tuning and change page handling attributes for the new system pool are initialized based on the type of storage pool being created. For shared storage pools, the type of tuning and change page handling attributes are set based on the paging option defined for the shared storage pool. For private storage pools, the type of tuning attribute is set to indicate no tuning should be done and the change page handling attribute is set to the system default value. The type of tuning and change page handling cannot be changed for the machine pool (system pool 1).


POOL0200 Format

The following table shows the information that must be specified in the change request parameter when POOL0200 is specified. This format can be used when the size and maximum active threads are being changed. The total length of the change request is 768 for this format. For a detailed description of each field, see Field Descriptions.



POOL0300 Format

The following table shows the information that must be specified in the change request parameter when POOL0300 is specified. This format can be used to allocate a pool that is not associated with a subsystem. The length of the change request is 40 when allocating a shared pool. (The size and maximum active threads values specified on the Change Shared Pool command are used.) The length of the change request is 52 when allocating a private pool. For a detailed description of each field, see Field Descriptions.

If the pool allocation identifier is already associated with an active pool, that system pool number will be returned instead of allocating another system pool.



POOL0400 Format

The following table shows the information that must be specified in the change request parameter when POOL0400 is specified. This format can be used to deallocate a pool that was allocated with this API. The total length of the change request is 34 for this format. For a detailed description of each field, see Field Descriptions.



Field Descriptions

Allow exchange operations. The exchange operation used to reduce the working set size. This is done by overlaying data that is already in main storage with new data this is being brought into main storage. The values for this field are:

The value specified for this field is ignored unless static tuning is specified for the type of tuning field.

Blocking factor for database objects. The amount of data that should be brought into main storage when a request is made to read database objects from auxiliary storage. The values for this field are:

The system may need to issue multiple I/O operations to bring the data into main storage. The value specified for the blocking factor for database objects field is ignored unless static tuning is specified for the type of tuning field.

Blocking factor for nondatabase objects. The amount of data that should be brought into main storage when a request is made to read nondatabase objects from auxiliary storage. The possible values for this field are:

The system may need to issue multiple I/O operations to bring the data into main storage. The value specified for the blocking factor for nondatabase objects is ignored unless static tuning is specified for the type of tuning field.

Change page handling. The method the system uses to determine when to write changed pages to auxiliary storage. The values for this field are:

Maximum active threads. The requested activity level for the pool. This is the maximum number of threads in the pool that can use the processor at the same time. A maximum active threads of 0 for a shared pool with a size greater than 0 indicates the shared pool is defined as a data pool.

Pool allocation identifier. Identifier used to allocate and deallocate a pool. This can be any unique 30 character value. The same identifier that was used to allocate the pool must be used to deallocate it. Do not use identifiers starting with QIBM.

Pool name. Name of the shared pool (*SHRPOOL1 - *SHRPOOL60). For a private pool any 10-character name can be used.

Pool size. The requested size for the pool in pages. To determine the current page size use the machine minimum transfer size of MATRMD option X'09'.

Reserved. An ignored field.

System pool identifier. A number from 1 to 64 representing a memory pool that has main storage allocated to it. This is the same number shown on the Work with System Status (WRKSYSSTS) display and returned in Format return value for format POOL0300.

Type of transfer from main storage to auxiliary storage. The method the system uses to process a request to write an object to auxiliary storage. The values for this field are:

The value specified for this field is ignored unless static tuning is specified for the type of tuning field.

Type of tuning. The method used by the system to tune the storage pool. The values for this field are:



Format Return Values

For format POOL0300:

For formats POOL0100, POOL0200, and POOL0400:



Error Messages




API introduced: V6R1

[ Back to top | Work Management APIs | APIs by category ]