The IOTRACE command causes the I/O trace table, or a portion of the I/O trace table, to be printed. Entries are placed in the I/O trace table by the MCP to trace the flow of control through I/O recovery and reconfiguration.
No special MCP compile-time options are necessary to cause the MCP to create an I/O trace table; all MCPs unconditionally generate it. The I/O trace table eases the task of analyzing dumps related to I/O without impacting main-path performance.
Syntax
── IOTRACE ─┬─────────┬─┬─────────────┬─┬──────────────────────┬───────┤ └─<count>─┘ └─<timerange>─┘ └─<selection criteria>─┘
<timerange>
── RANGE ──<seconds>─┬─────────────────────┬───────────────────────────┤ ├─ FOR ─┬─<seconds_2>─┘ └─ TO ──┘
<selection criteria>
──┬───────────────────────┬────────────────────────────────────────────► └─ SNR ──<stack number>─┘ ►─┬────────────────────────┬─┬───────────────────────┬─────────────────┤ ├─ UNIT ──<unit number>──┤ ├─ TRACE ──<trace type>─┤ ├─ EXTID ──<unit number>─┤ └─ CIA ─┬───────────────┤ └─ IOP ─┬────────────────┤ └─ + ───────────┘ └─<IOP number>───┘
Explanation
The following text describes the meaning of each construct. Refer to “Basic Constructs” in this section for information about the <number> construct.
IOTRACE
Prints the entire I/O trace table without including ClearPath Interconnect Architecture (CIA) entries.
IOTRACE <count>
Prints the specified number of most recent entries in the I/O trace table.
IOTRACE RANGE 5
Prints the most recent entries in the IOTRACE table going back at most five seconds. The most recent timestamp I/O trace table entry found is considered to be one second back. Assuming that the I/O trace table holds more than five seconds of entries, analysis ends with the first timestamp entry that is at least five seconds back.
IOTRACE SNR <stack number>
Prints all entries in the I/O trace table entered by the specified stack number register (SNR). The specification is a hexadecimal number.
IOTRACE <count> SNR <stack number>
The <count> parameter is a decimal number that limits the number of entries from the I/O trace table to be printed. The <stack number> parameter is a hexadecimal number. At most, the specified number of most recent I/O trace table entries made from the specified SNR is printed.
IOTRACE UNIT <unit number>
IOTRACE EXTID <unit number>
Prints all entries in the I/O trace table entered for the external unit number indicated by the number. The specification is a decimal number.
IOTRACE IOP
Prints all entries in the I/O trace table entered for IOP devices.
IOTRACE IOP <IOP number>
Prints all entries in the I/O trace table entered for the specified IOP.
IOTRACE <count> IOP <IOP number> RANGE 5 to 10
Prints up to <count> entries from the I/O trace table entered for the specified IOP. Only entries made between the timestamp entries that encompass the range from five seconds back to ten seconds back are printed. If more than <count> entries were made for the specified IOP in this time range, analysis stops after the <count> most recent entries have been printed.
IOTRACE TRACE <trace type>
Prints all entries in the I/O trace table with the trace reason indicated by the number. The specification is a hexadecimal number indicating a specific trace point within the MCP. This number is printed under the heading “TRACE REASON” on the IOTRACE output.
IOTRACE CIA
Prints all the CIA entries without including I/O entries.
IOTRACE CIA +
Prints the entire I/O trace table including both I/O entries and CIA entries.
IOTRACE CIA TERSE
Prints all the CIA entries; however, expanded analysis of MCB trace entries and array strings greater than 4 words is suppressed.
Example
The following shows an example of output from the IOTRACE command:
UNIT TRACE REASON SNR INFO ---- ---------------------------- --- ---------------------------- MT74 02 REPORTIOOPERATIONCOMPLETE 02E ASD=004210 MISCINFO=0002 15 IOPREADY 02E RSLT=E004 STATE=READY IDLE 04 QUEUESTATETRANSITION 02E CQ=0 SUSPNDFORXONLY > RUNNING 09 DECREMENTSTOPCOUNT 02E CQ=0 SUSPNDFORXONLY 1-1=0 45 XDECREMENTSTOPCOUNT 02E CQ=0 SUSPNDFORXONLY 2-1=1 44 XINCREMENTSTOPCOUNT 02E CQ=0 SUSPNDFORXONLY 1+1=2 06 TERMINATEIOOPERATION 02E ASD=00176F MK = 10CB032DC425 VERIFY_CACHE SHUN_CACHE SPECIFIED_CONTROL SPECIALBILLING TIMELIMIT=40 IGNORECNTERR BYTEMODE TAGCONTROL=4 READ-OP SOFTWAREATTENTION INPROCESS CR = 090C09D27077 COMMAND=4'09' INITIATING_PORT=12 INITIATING_CTL=39 TIMEOUT_VALUE=39 DEVICE_ID=119 RD = 000000000007 EXCEPTION ATTENTION: IDLE SOFTWARE MT = 000009C000FF SPECIFIED_CONTROL=39 MAXTRANSFER=255 SW = 002E00128A30 INITIATINGSTACK=4'02E' OWNERSTACK=4'012' REQUESTOR=34 ST = 0006A3086759 19:00:12.04 LR = 0002C0000000 UNITSXFERRED=44 XR = 000000000000 EXCEPTIONID=0 CW = 120200000000 READ 8-BIT 28 = 003C04000032 LU=60 CQ=0 EXECUTE INTERNAL LOGGEDRDSCOUNT=0 RETRYCOUNT=0 SRREADEXTENDEDSTATUS 30 = 000000000000 CTL CMD & RESULT= 03000000FF00 000000000000 43 EXTENDEDLRD 02E XLRD=000000000403 EXCEPTIONID=0 01 INTERCEPT 02E ASD=00176F -----------------------------------------------1940.943--------- SC20 23 IOPEXECUTE 582 RSLT=7004 STATE=SUSPENDED IDLE 05 INITIATESPECIALTESTOP 582 Test/Wait for XMIT 04 QUEUESTATETRANSITION 582 CQ=0 RUNNING > MONITORSTATUS 12 IOPSUSPEND 582 RSLT=7004 STATE=SUSPENDED IDLE
-
To find a specific trace point in the MCP, insert “TR_” for CPIO_RMM or “TI_” for CPIO_IOP at the beginning of the name printed under “TRACE REASON,” then locate occurrences of this identifier within the MCP source. For example, to find out where in the MCP the first trace entry in the preceding example was traced, find occurrences of TR_REPORTIOOPERATIONCOMPLETE in the MCP.
(The name under “TRACE REASON” might be truncated if the I/O trace table is printed on the screen. To ensure no truncation occurs, use the PRINTER command to print the I/O trace table on the printer.)
-
The line immediately preceding the first trace entry for SC20 is an I/O trace table timestamp. These timestamps are placed in the I/O trace table every 4 seconds by CHECKFORHUNGIOS. The number indicates the seconds since the last halt/load.