Version 4.2.6 for Mainframes
 —  Parameter Reference  —

MAXROLL - Number of CMROLL Calls before Session Suspension

This Natural profile parameter only applies under Com-plete and CICS.

It specifies the number of CMROLL calls after which a Natural session is suspended, that is, a potential roll-out of the Natural thread is to be performed.

Possible settings 1 - 32767 Number of CMROLL calls.
0 MAXROLL=0 indicates that no conditional CMROLL requests are issued.
Default setting 128  
Dynamic specification yes  
Specification within session no  

The MAXROLL parameter can be used to control the frequency of conditional CMROLL requests. For example, MAXROLL=128 means that a conditional CMROLL request is issued after every 128th statement at compilation.

In certain cases, the Natural nucleus issues a conditional CMROLL request (wait time = 0), particularly at compilation after each statement. This is done to reset the CPU time window (under Com-plete) in order to avoid an automatic cancel due to the CPU time limit being exceeded; however, this has a negative impact on performance.

Note Concerning CMROLL

Calling CMROLL is the Natural interface for WAIT or DELAY functionality (see also sample Natural program SUSPEND in library SYSEXTP); when calling CMROLL, you may pass a delay interval/wait time as parameter. When a session has to wait in CMROLL, shared resources as a thread in Com-plete or a shared thread in CICS (THREADS=nonzero) are released, and as a consequence a potential roll-out of the Natural thread is performed. Calling CMROLL with a delay interval of 0 is called conditional, as the session actually needs not wait for a certain time; however, when other sessions are waiting for a thread, the session is suspended, which may result in a roll-out of the Natural thread. In CICS if no other session is waiting, just an EXEC CICS SUSPEND is executed to prevent AICA abends.

Top of page