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.
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