DFSREP00

DFSREP00 is a collection of independent routines used to perform Operating System Control Program (SCP) dependent functions. Functions include:

  • suspending a task because it has no work to do

  • waking up a suspended task because it now has work

  • transferring control or communicating between regions, for example, between a Message Processing Region (MPR) or a Batch Message Processing Region (BMP) and the IMS Control Region.

Once a BMP or MPR region has been established, most of the processing takes place within that region, and the region task is not suspended. Common reasons for communicating between regions include:

  • region startup

  • scheduling a transaction in an MPR

  • issuing an IMS call to a TP PCB

  • a transaction ending in an MPR

  • region termination.

You will also see activity in DSREP00 for DBCTL regions.

Hints

The CPU used by DFSREP00 should be 0 for a batch region, less than 1% for a BMP region unless there are a significant number of IMS TP calls, and less than 5% for a Message Processing Region. CPU for a DBCTL region is undetermined.

If DFSREP00 uses excessive CPU, create the Performance Profile again and specify Detail for this module. Consider specifying a lower Resolution than the default of 64. The new Profile should provide more information about which offsets are using CPU. The IMS systems programmer should then assemble DFSREP00 and use the additional information to determine which subroutine is using the CPU. The prologue to each subroutine tells what the subroutine does and how it is invoked. Many of these routines are invoked by the IMS dispatcher DFSIDSP0.

If DFSREPOO shows high wait in the Attribution of CPU Wait Time report, check the statement number and whether that statement represents a call to the DL/I database. Contention between a Message Processing Region and Batch Message Processing Region could be the culprit.

Reference Sources

More information is available in the IMS SVSOURCE Library Data Set. See your IMS systems programmer.