This article explains how to properly setup the region size for the CA Dispatch started task in order to prevent storage-related abends.
A CA Dispatch started task may experience storage-related abends like S878 or even get bad crashes like S40D if the REGION parameter in the EXEC card is not properly adjusted. Surprisingly enough, this may happen if the defined region is too high.
This is because, as part of its processing, started task performs a lot of interaction with JES2 (for example, for reprinting, archival and so on). Each interaction with JES2 requires a significant amount of storage below the 16MB line in the LSQA area. This requirement is even bigger if started task is defined to JES2 with parameter SWA=BELOW.
In an MVS address space, the storage below the line is divided into common storage (storage which is common to all address spaces, which size is defined at system initialization) and private storage (the full 16 MB minus the size of the common storage). Private storage is further divided between the user region (driven among other factors by the REGION parameter in the EXEC card) and the system region (the remaining of the private storage).
In a given address space, a high REGION provides more storage to load programs and to be used by these programs, at the cost of lowering the storage available to the system. This does not necessarily constitute a problem but, in an address space making heavy use of system functions, as is the case for the CA Dispatch started task, this might cause the system storage to be exhausted leading to unpredictable results.
Therefore, for the CA Dispatch started task, the REGION parameter should be kept as low as possible, but not too low as to prevent normal operation of the task. A rule of thumb is to check initialization message DC390008 STORAGE RETURNED TO OPSYS. The REGION can be lowered as far as the amount of storage returned to OPSYS and is not below 1,000K.
It must be pointed out that any CA Dispatch site, even the largest ones, should be able to run with a region size around 7 or 7.5 MB. In fact, the CA Dispatch started task JCL, as shipped, sets a region size of 7000K (member CADSDISP in CAIPROC library).