DFSIDSP0

DFSIDSP0 is the IMS Online Dispatcher. Each MVS region has a copy of DFSIDSP0. Each MVS task is represented by a Task Control Block (TCB). DFSIDSP0 dispatches units of work called IMS tasks (ITASKs). Each ITASK is represented by an Event Control Block (ECB).

DFSIDSP0 is invoked whenever a waiting ECB for this task is posted as being ready to do work. Many ECBs might be posted when this module is invoked. DFSIDSP0's first job is to move the posted ECBs to the Ready Queues. Ten queues exist for priorities 0 to 9, with 9 being the highest. ECBs might also wait on queues as a result of shortages of storage in some IMS pools or shortages of IMS dynamic save areas. DFSIDSP0 searches all of these queues and dispatches the highest priority ITASK that is eligible to do work.

When ITASK completes, control will be returned and the next ITASK will be dispatched. If there are no more eligible ITASKS to dispatch, DFSIDSP0 will suspend itself until new ECBs are posted as being ready for work.

Hints

DFSIDSP0 should use very little CPU (less than 2%) for IMS BMP and MPP regions.

If this module uses excessive CPU, recreate the Performance Profile and specify Detail for this module. The IMS systems programmer should assemble this module and 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 invoke SCP dependent code in module DFSREP00.

Reference Sources

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