Dispatcher trace

When you use the /TRACE SET ON TABLE DISP command, IMS enables the dispatcher trace to an internal table. This internal table is formatted in any dump that is formatted by IMS.

When you use OPTION LOG, IMS sends the entries to the log as type X'67FA' records. You can select and format these log entries by using the utility DFSERA10 with exit DFSERA30.

The following table shows the general format of a dispatcher trace entry.

Table 1. Dispatcher trace record format
WORD 0 WORD 1 WORD 2 WORD 3 WORD 4 WORD 5 WORD 6 WORD 7
I T SEQ NUM   TIME STAMP
where
represents
I
One-byte trace ID field. This byte indicates the type of the trace entry.
T
One-byte TCB ID. This byte indicates the IMS TCB type which made the trace entry.

The dispatcher trace formatting usually includes the functional area. If you need this information because the trace is in a raw format, the codes can be obtained by assembling the following macro statement DFSKDT FUNC=EQUATES.

SEQ NUM
Two-byte trace sequence number assigned by the IMS trace component.
TIME STAMP
Bytes 3 through 6 of the system clock (STCK) at the time the trace entry was created.

Words 1 through 6 contain data specific to each trace entry, as described below: The letter A followed by parentheses () indicates address of in all dispatcher trace entries listed below.

 TRACE ID   = X'01'
  DESC = FRR driven attempting to schedule a RESUME SRB
               in IPOST common (DFSIPOTC)
       word 1 — A(Target ECB being IPOSTed). If high X'80'  on,
                   this indicates recursive FRR entry
       word 2 — SAPCNTRL field from target ECB's SAP
       word 3 — Abend code
       word 4 — A(target dispatcher work area)
       word 5 — IPOST common caller's return address
       word 6 — IPOST common caller's R13
 TRACE ID   = X'02'
  DESC      = ECB dispatch — ITASK started (created)

       word 1 — A(ITASK ECB)
       word 2 — ECB contents
       word 3 — A(ITASK SAP)
       word 4 — EPFFLAGS field from ECB prefix
       word 5 — A(CULE) if present in ECB prefix
       word 6 — A(Routine to get control)
 TRACE ID   = X'03'
  DESC      = ECB dispatch — ITASK terminated

       word 1 — A(ITASK ECB)
       word 2 — ECB contents
       word 3 — A(ITASK SAP)
       word 4 — EPFFLAGS field from ECB prefix
       word 5 — A(CULE) if present in ECB prefix
       word 6 — 0
 TRACE ID   = X'04'
  DESC      = IWAIT called

       word 1 — A(ITASK ECB)
       word 2 — ECB contents prior to IWAIT
       word 3 — IWAIT return address
       word 4 — 0
       word 5 — 0
       word 6 — SAPCNTRL contents
 TRACE ID   = X'05'
  DESC      = ECB dispatch — ITASK reinstated

       word 1 — A(ITASK ECB)
       word 2 — ECB contents
       word 3 — SAPCNTRL field from ITASK's SAP
       word 4 — EPFFLAGS field from ECB prefix
       word 5 — Reinstate address (return address)
       word 6 — 0
 TRACE ID   = X'06'
  DESC      = IPOST called

       word 1 — A(POSTer's ECB) (A(TCB) if ITASK=NO)
       word 2 — IPOST return
       word 3 — A(ECB to be POSTed)
       word 4 — Contents of ECB before IPOST
       word 5 — POST code at entry to IPOST (may be complimented)
       word 6 — 0
 TRACE ID   = X'07'
  DESC      = IXCTL called

       word 1 — A(Current ITASK ECB)
       word 2 — A(IXCTL target ECB)
       word 3 — IXCTL return address
       word 4 — A(CULE) from current ECB prefix
       word 5 — 0
       word 6 — 0
 TRACE ID   = X'08'
  DESC      = ISWITCH TO= invoked

       word 1 — A(Current ECB)
       word 2 — ISWITCH return address
       word 3 — A(target dispatcher work area)
       word 4 — SAPCNTRL field from ECB's SAP
       word 5 — SAPXFLAG contents
       word 6 — 0
 TRACE ID   = X'09'
  DESC      = UN-INITIALIZE ECB called

       word 1 — A(Target ECB)
       word 2 — UNINIT return address
       word 3 — UNINIT return code
       word 4 — EPFFLAGS from ECB prefix
       word 5 — ECB contents
       word 6 — 0
 TRACE ID   = X'0A'
  DESC      = Dependent region reattach

       word 1 — A(Related PST)
       word 2 — A(Dependent region dispatcher work area)
       word 3 — SAPCNTRL field from PST's SAP
       word 4 — 0
       word 5 — 0
       word 6 — 0
 TRACE ID   = X'0B'
  DESC      = Process IMS TCB signoff

       word 1 — A(Related PST)
       word 2 — A(Released dispatcher work area)
       word 3 — Signoff return address
       word 4 — 0
       word 5 — 0
       word 6 — 0
 TRACE ID   = X'0D'
  DESC      = INITECB called

       word 1 — A(Current ECB)
       word 2 — INITECB return address
       word 3 — A(ECB being initialized)
       word 4 — Contents of ECB before being initialized
       word 5 — INITECB RC
       word 6 — If INITECB RC=0C, WD5 = A(SAP) from target ECB prefix. 
                If INITECB RC=10, WD5 = A(dispatcher work area) 
                from target ECB prefix.
 TRACE ID   = X'0E'
  DESC      = Memory change done via PC/PT
       word 1 — A(Current ECB) (X'80' on=PC; off=PT)
       word 2 — Old primary ASID | Secondary ASID
       word 3 — If Word 1 indicates PT: PKM ASID for PT
                If Word 1 indicates PC: PC # issued
       word 4 — A(Current dispatcher work area)
       word 5 — New Primary ASN-Second-Table-Entry Instance Number
           (PASTEIN), or 0 if none.
       word 6 — High half word = 0.  Low half word = old PKM.
 TRACE ID   = X'0F'
  DESC      = Dispatcher ABEND issued ("other diagnostics"
              dependent on ABEND issuer)
       word 1 — A(Current ECB)
       word 2 — Other diagnostics
       word 3 — ABEND code | reason code
       word 4 — Other diagnostics (usually the dispatcher work area
                address of the abending TCB)
       word 5 — Other diagnostics
       word 6 — Other diagnostics
 TRACE ID   = X'10'
  DESC      = Cross memory ISWITCH TO=XM or TO=HOME

       word 1 — A(Current ECB)
       word 2 — ISWITCH return address
       word 3 — Target code (00=HOME, 01=CTL, 02=DLI)
       word 4 — SAPCNTRL field from ECB's SAP
       word 5 — Home ASID of target | Primary ASID of target
       word 6 — SAPXFLAG contents
 TRACE ID   = X'11'
  DESC      = Cross memory state change

       word 1 — A(Current ECB)
       word 2 — Old primary ASID | Secondary ASID
       word 3 — New primary ASID | Secondary ASID
       word 4 — A(current dispatcher work area)
       word 5 — High half word = low 16 bits of new Primary ASN-
           Second-Table-Entry Instance Number (PASTEIN), or
           zero if none.  Low half word = low 16 bits of new
           Secondary ASN-Second-Table-Entry Instance Number
           (SASTEIN), or zero if none.
       word 6 — High half word = New PSW Key Mask (PKM) .  Low half
           word = Old PKM.
 TRACE ID   = X'12'
  DESC      = DFSKPXT—POST code stored in ECB (ECB was not waiting)

       word 1 — A(ECB) to be POSTed
       word 2 — POST code
       word 3 — Contents of ECB on prior to store
       word 4 — 0
       word 5 — 0
       word 6 — 0
 TRACE ID   = X'13'
  DESC      = DFSKPXT—Special MVS branch-entry POST call

       word 1 — A(Caller's TCB) (0 if SRB)
       word 2 — Caller's return address
       word 3 — A(ECB) to be POSTed
       word 4 — Caller's home ASID
       word 5 — 0
       word 6 — 0
 TRACE ID   = X'14'
  DESC      = DFSCIR called to create an ITASK

       word 1 — A(ECB) or -A(ECB list)
       word 2 — ITASK type code
       word 3 — DFSCIR return address
       word 4 — A(ITASK main program)
       word 5 — 0
       word 6 — 0
 TRACE ID   = X'15'
  DESC      = DFSKPXT issued branch-entry MVS POST (local)

       word 1 — A(ECB) to be POSTed
       word 2 — ECB POST code
       word 3 — ECB contents prior to the POST
       word 4 — 0
       word 5 — 0
       word 6 — 0
 TRACE ID   = X'16'
  DESC      = POST exit POSTed ECB enqueue

       word 1 — A(ECB) being POSTed
       word 2 — ECB POST code
       word 3 — Previous POST queue header contents
       word 4 — 0
       word 5 — 0
       word 6 — 0
 TRACE ID   = X'17'
  DESC      = POST exit RESUME target MVS TCB

       word 1 — A(TCB)  (SRB=0)
       word 2 — Home ASID | Primary ASID
       word 3 — Target TCB's ASID
       word 4 — 0
       word 5 — 0
       word 6 — 0
 TRACE ID   = X'18'
  DESC      = IPOST common store POST code in ECB (ECB was not waiting)

       word 1 — A(ECB) being IPOSTed
       word 2 — POST code
       word 3 — ECB contents prior to the IPOST
       word 4 — A(ECB's dispatcher work area)
       word 5 — IPOST common caller's return address
       word 6 — 0
 TRACE ID   = X'19'
  DESC      = IPOST common POSTed ECB enqueue

       word 1 — A(ECB) being enqueued
       word 2 — ECB POST code
       word 3 — Previous POSTed queue header contents
       word 4 — A(ECB's dispatcher work area)
       word 5 — IPOST common caller's return address
       word 6 — 0
 TRACE ID   = X'1A'
  DESC      = IPOST common RESUME target IMS TCB

       word 1 — A(current TCB) (0=SRB)
       word 2 — Home ASID or Primary ASID
       word 3 — Target TCB's home ASID
       word 4 — A(resumed TCB's dispatcher work area)
       word 5 — 0
       word 6 — 0
 TRACE ID   = X'1B'
  DESC      = INITECB ECB store results

       word 1 — A(ECB) being initialized
       word 2 — WAIT code being stored into ECB
       word 3 — ECB contents prior to INITECB store
       word 4 — 0
       word 5 — 0
       word 6 — 0
 TRACE ID   = X'1C'
  DESC      = INITECB POSTed ECB enqueue

       word 1 — A(ECB) being initialized
       word 2 — ECB POST code
       word 3 — Previous POSTed queue header contents
       word 4 — 0
       word 5 — 0
       word 6 — 0
 TRACE ID   = X'1D'
  DESC      = SUSPEND back out RESUME issued

       word 1 — POSTed queue header contents
       word 2 — Home ASID | Primary ASID
       word 3 — A(SRB) (0 = no SRB)
       word 4 — 0
       word 5 — 0
       word 6 — 0
 TRACE ID   = X'1E'
  DESC      = SRB scheduled for alternate IPOST

       word 1 — A(ECB) to be IPOSTed
       word 2 — Primary ASID | target ASID
       word 3 — A(IPOST SRB) (0 if MVS branch entry XM-POST)
       word 4 — A(current ASCB)
       word 5 — POST code
       word 6 — 0
 TRACE ID   = X'1F'
  DESC      = IPOST called with TOSAP= option

       word 1 — A(Poster's ECB) (A(TCB) if ITASK=NO)
       word 2 — IPOST return address
       word 3 — A(ECB to be POSTed)
       word 4 — 0
       word 5 — POST code at entry to IPOST (may be complimented)
       word 6 — 0
 TRACE ID   = X'20'
  DESC      = Dependent region shutdown ISWITCH

       word 1 — A(Related PST)
       word 2 — A(Special exit)
       word 3 — SAPCNTRL field from PST's SAP
       word 4 — A(Home dispatcher work area)
       word 5 — 0
       word 6 — 0
 TRACE ID   = X'21'
  DESC      = Entry to Post-Exit Routine

       word 1 — A(ECB) being POSTed
       word 2 — ECB Contents
       word 3 — EPFFLAGS from ECB prefix
       word 4 — 0
       word 5 — 0
       word 6 — 0
 TRACE ID   = X'22'
  DESC      = ABTERM ISWITCH entered

       word 1 — A(ECB) to be switched
       word 2 — ECB contents
       word 3 — SAPCNTRL contents
       word 4 — SAPCNTL2 contents
       word 5 — Posted Q contents
       word 6 — SAPCMEM | SAPCFLGS
 TRACE ID   = X'23'
  DESC      = ISERWAIT called

       word 1 — A(ITASK ECB)
       word 2 — ECB contents prior to ISERWAIT
       word 3 — ISERWAIT return address
       word 4 — 0
       word 5 — 0
       word 6 — SAPCNTRL contents
 TRACE ID   = X'24'
  DESC      = ISWITCH TO=, STACK=YES called

       word 1 — A(Current ECB)
       word 2 — ISWITCH return address
       word 3 — A(Target dispatcher work area)
       word 4 — SAPCNTRL field from ITASK's SAP
       word 5 — SAPXFLAG contents
       word 6 — 0
 TRACE ID   = X'25'
  DESC      = POST ABTERM ISWITCH

       word 1 — A(ECB) to be switched
       word 2 — ECB POST code
       word 3 — previous posted Q contents
       word 4 — A(Target dispatcher work area)
       word 5 — IPOTC/IPEXT caller's return
       word 6 — 0
 TRACE ID   = X'26'
  DESC      = Branch entry SCP POST

       word 1 — A(ECB) to be POSTed
       word 2 — ECB POST code
       word 3 — A(ASCB) of ECB's address space
       word 4 — A(Current TCB)
       word 5 — A(Current ASCB)
       word 6 — 0
 TRACE ID   = X'27'
  DESC      = SUSPEND IMS TCB

       word 1 — A(Related PST) (0 if not a dependent region/LSD)
       word 2 — Home ASID | Primary ASID
       word 3 — A(Suspended dispatcher work area)
       word 4 — A(TCB being suspended)
       word 5 — Low order word of STORE CLOCK (STCK)
       word 6 — High order word of STORE CLOCK (STCK)
 TRACE ID   = X'28'
  DESC      = Dependent region open dispatcher—signon

       word 1 — A(Related PST)
       word 2 — Home ASID
       word 3 — A(Current TCB)
       word 4 — 0
       word 5 — 0
       word 6 — 0
 TRACE ID   = X'29'
  DESC      = ISWITCH TO=UNSTACK
       word 1 — A(Current ECB)
       word 2 — ISWITCH return address
       word 3 — X'80000000'
       word 4 — SAPCNTRL field from ECB's SAP
       word 5 — SAPXFLAG contents
       word 6 — 0
 TRACE ID   = X'2A'
  DESC      = IMS list IPOST called

       word 1 — A(ECB) to be IPOSTed
       word 2 — List IPOST return address
       word 3 — A(POST list)
       word 4 — 0
       word 5 — 0
       word 6 — 0
 TRACE ID   = X'2B'
  DESC      = SCP WAIT issued (SVC WAIT)

       word 1 — A(WAIT ECB)
       word 2 — SCP WAIT return address
       word 3 — A(Current TCB)
       word 4 — ECB contents prior to WAIT
       word 5 — 0
       word 6 — 0
 TRACE ID   = X'2C'
  DESC      = SCP WAIT complete (SVC WAIT)

       word 1 — A(WAIT ECB)
       word 2 — ECB POST code
       word 3 — A(Current TCB)
       word 4 — 0
       word 5 — 0
       word 6 — 0
 TRACE ID   = X'2D'
  DESC      = ISWITCH TO=RET called

       word 1 — A(Current ECB)
       word 2 — ISWITCH return address
       word 3 — 0
       word 4 — SAPCNTRL field from ECB's SAP
       word 5 — SAPXFLAG contents
       word 6 — 0
 TRACE ID   = X'2E'
  DESC      = Shutdown ISWITCH reinstate

       word 1 — A(PST)
       word 2 — A(Return save area)
       word 3 — A(Shutdown ECB)
       word 4 — 0
       word 5 — 0
       word 6 — 0
 TRACE ID   = X'2F'
  DESC      = Dependent region open dispatcher—TCB switch

       word 1 — A(Related PST)
       word 2 — A(Previous TCB)
       word 3 — A(Current TCB)
       word 4 — 0
       word 5 — 0
       word 6 — 0
 TRACE ID   = X'30'
  DESC      = IWAIT called with IXCTL=YES option

       word 1 — A(Current ECB)
       word 2 — ECB Contents prior to IWAIT
       word 3 — IWAIT Return address
       word 4 — A(Target ECB)
       word 5 — Target ECB Contents
       word 6 — 0

Example of a dispatcher trace

**DTR          DISPATCHER TRACE
****************************************************
***TRACE PRINTED FROM OLDEST TO MOST CURRENT ENTRY**
****************************************************
  FUNCTION        WORD 0    WORD 1    WORD 2    WORD 3    WORD 4    WORD 5    WORD 6    WORD 7
XM ISWITCH STK  10035E11  05B5A060  80BBE2E8  80000002  00800001  001B001B  00000000  9AB7A070  MPP   TO=XMDLI
MEM CHANGE      11035E12  05B5A060  001B001B  0084001B  00B16A40  00000000  00000000  9AB7A1B3  MPP
IPOST(ECB=)     06035E17  05B5A060  80B8F516  00B21140  80B48CD7  40C1E6C5  00000000  9AB7A23D  MPP    AWE
IPC ENQ         19015E18  00B21140  40C1E6C5  FF4B7340  00B48CC0  80BE4208  00000000  9AB7A2CB  LOG    AWE
IPC RESUME      1A015E19  006DEE88  001B0084  00000082  00B48CC0  00000000  00000000  9AB7A3FC  LOG
ISERWAIT        23035E1A  85B5A060  00000000  80B8F602  00000000  00000000  00000000  9AB7A5AC  MPP
IECB STORE      1B035E1B  05B5A060  80B16A57  00000000  00000000  00000000  00000000  9AB7A671  MPP
SUSPEND         27035E1C  05B5A060  001B0084  00B16A40  00000000  00000000  00000000  9AB7A6CE  MPP
XM ISWITCH STK  10035E1E  05B4B060  867851F0  80000001  00000001  00320032  00000000  9AB7A7F1  MPP   TO=XMCTL
MEM CHANGE      11035E1F  05B4B060  00320032  00820032  00B22E00  00000000  00000000  9AB7A92D  MPP
IPOST(ECB=)     06FE5E25  006D77F0  80B91FA6  00BA156C  80B48417  40E3D9C1  00000000  9AB7A93D  N/A    TRA
IPC ENQ         19025E26  00BA156C  40E3D9C1  FF4B7C00  00B48400  80BE4208  00000000  9AB7A9A1  CTL    TRA
IPC RESUME      1A025E27  006D77F0  00820082  00000082  00B48400  00000000  00000000  9AB7A9F2  CTL
RE-DISPATCH     05015E28  00B21140  40C1E6C5  40000000  00000000  801504A6  00000000  9AB7ABA1  LOG
IWAIT           04015E2C  00B21140  00C1E6C5  801504A6  00000000  00000000  00000000  9AB7AC31  LOG    AWE
ISWITCH UNSTK   29035E2E  05B4B060  86785246  80000000  00000041  00000000  00000000  9AB7AD61  MPP
IECB STORE      1B015E2F  00B21140  80B48CD7  00C1E6C5  00000000  00000000  00000000  9AB7AF15  LOG
SUSPEND         27015E30  00000000  00820082  00B48CC0  00000000  00000000  00000000  9AB7AF7C  LOG
RE-DISPATCH     05035E31  05B4B060  00025EE4  00000003  00000000  00B22E00  00000000  9AB7AF8F  MPP
MEM CHANGE      11035E32  05B4B060  00820032  00320032  00B22E00  00000000  00000000  9AB7B04E  MPP
ITASK START     02025E33  00BA156C  40E3D9C1  064BC040  00000000  066C6440  00B7E7E0  9AB7B171  CTL    TRA
IPOST(ECB=)     06FE5E34  00000000  8007EAB8  05B37060  80AF3917  801A1D2C  00000000  9AB7B1C7  N/A    VSM
IPC ENQ         19035E35  05B37060  7FE5E2D4  FF50C700  00AF3900  80BE4208  00000000  9AB7B374  MPP    VSM
IPC RESUME      1A035E36  00000000  00840084  00000052  00AF3900  00000000  00000000  9AB7B4EF  MPP
IPOST(SAP=)     1FFE5E37  006CFE88  80B7E94C  00167060  00000000  00000000  00000000  9AB7B569  N/A
IPC ENQ         19155E39  00167060  40E3D9C1  FF4B7840  00B487C0  80BE4394  00000000  9AB7B5BC  TRA    TRA
IPC RESUME      1A155E3A  006CFE88  00820082  00000082  00B487C0  00000000  00000000  9AB7B692  TRA
ISERWAIT        23025E3D  00BA156C  00E3D9C1  80B7E956  00000000  00000000  00000000  9AB7B843  CTL    TRA
IECB STORE      1B025E3E  00BA156C  80B48417  00E3D9C1  00000000  00000000  00000000  9AB7B88D  CTL
SUSPEND         27025E40  00000000  00820082  00B48400  00000000  00000000  00000000  9AB7B8D7  CTL
XM ISWITCH STK  10035E44  05B4B060  80BBE2E8  80000002  00000001  00320032  00000000  9AB7B90E  MPP   TO=XMDLI
RE-DISPATCH     05155E45  00167060  40E3D9C1  40000000  00000000  8015EC84  00000000  9AB7B9FB  TRA
MEM CHANGE      11035E46  05B4B060  00320032  00840032  00B22E00  00000000  00000000  9AB7BA3B  MPP
RE-DISPATCH     05035E48  05B37060  7FE5E2D4  00000041  00000000  8007E9FA  00000000  9AB7BA87  MPP
KPOST LIST      2A155E4A  00167060  8015EC36  00167064  00000000  00000000  00000000  9AB7BACC  TRA
IPC ENQ         19025E4B  00BA156C  40E3D9C1  FF4B7C00  00B48400  80BE456E  00000000  9AB7BC79  CTL    TRA
IPC RESUME      1A025E4D  006CEE88  00820082  00000082  00B48400  00000000  00000000  9AB7BE28  CTL
IPOST(ECB=)     06035E4F  05B4B060  80B90B8E  00B21140  80B48CD7  40C1E6C5  00000000  9AB7BE86  MPP    AWE
IPC ENQ         19015E50  00B21140  40C1E6C5  FF4B7340  00B48CC0  80BE4208  00000000  9AB7BF72  LOG    AWE
IPC RESUME      1A015E51  006DEE88  00320084  00000082  00B48CC0  00000000  00000000  9AB7C0CB  LOG
IWAIT           04155E52  00167060  00E3D9C1  8015EC84  00000000  00000000  00000000  9AB7C1E7  TRA    TRA
IECB STORE      1B155E54  00167060  80B487D7  00E3D9C1  00000000  00000000  00000000  9AB7C324  TRA
SUSPEND         27155E55  00000000  00820082  00B487C0  00000000  00000000  00000000  9AB7C4B1  TRA
ISERWAIT        23035E56  85B4B060  00000000  80B8F602  00000000  00000000  00000000  9AB7C661  MPP
IECB STORE      1B035E57  05B4B060  80B22E17  00000000  00000000  00000000  00000000  9AB7C7AE  MPP
SUSPEND         27035E58  05B4B060  00320084  00B22E00  00000000  00000000  00000000  9AB7C917  MPP
RE-DISPATCH     05015E5B  00B21140  40C1E6C5  40000000  00000000  801504A6  00000000  9AB7CA0E  LOG
IWAIT           04015E5D  00B21140  00C1E6C5  801504A6  00000000  00000000  00000000  9AB7CBB5  LOG    AWE