Programming Interface Information:
The Monitor Records are intended Programming Interfaces that
allow the customer to write programs to obtain services of z/VM.
Control Block Contents
DSECT NAME - IODDEV FUNCTION - Map a Monitor record. LOCATED BY - Through the Monitor Control Area REFERENCED CONTROL BLOCKS - MRRECHDR Monitor Record Header NAME - MRIODDEV DESCRIPTIVE NAME - Monitor Sample Record Domain 6 - I/O Domain Record 3 - Device Activity DESCRIPTION - Describes I/O activities of a real device. A separate record is generated for each online device that is enabled for monitoring. NOTES: - Fields labeled by the prefix, 'IODDEV_HF', are high-frequency counters. - When a virtual machine owning the device uses SIE ASSIST, CP does not handle the normal I/O and cannot update the RDEV counters. Therefore, for a device that had been in SIE ASSIST, some RDEV or high-frequency counters may not correctly reflect real device activity. - "SCM Facility Data." Data obtained from the Subchannel Management Facility. - "SIE ASSIST Activity Data." This data indicates how often and for how long the device had been in each respective state. There may be situations that would cause the device to be pulled out of SIE ASSIST and later put back in it. Some devices may take longer than others to get out of SIE ASSIST. This can degrade the performance of the preferred guest. SIE ASSIST Activity Data is valid only for devices that are eligible for SIE ASSIST, indicated by IODDEV_VDEVIOP1. A SIE Assisted (I/O Assisted) device must be in one of three states: OUT, IN, LEAVING assist. For each state a count of transitions into the state and a count of accumulated time in the state are kept. However, since the time accumulator can only be updated when a device changes states, the accumulators reported in this monitor record (IODDEV_VIUTIMOT, IODDEV_VIUTIMIN, and IODDEV_VIUTIMLV) do not include time for the state the device is in when the monitor record is created. To determine the unassigned time, calculate the delta of the MRHDRTOD and IODDEV_VIUSTAMP. This delta should be converted to microseconds and then added to the accumulator for the state indicated by the IODDEV_VIUSTATE field.
MRIODDEV Control Block ContentsOffsets Dec Hex Type Len Name (Dim) Description 0 0 Structure 217 IODDEV 0 0 Character 0 IODDEV_MRHDR Record header. See MRRECHDR for details. 0 0 Character 20 MRHDR 0 0 Unsigned 2 MRHDRLEN 2 2 Unsigned 2 MRHDRZER 4 4 Unsigned 1 MRHDRDM 5 5 Unsigned 1 * 6 6 Unsigned 2 MRHDRRC 8 8 Character 8 MRHDRTOD 16 10 Character 4 * 20 14 Character 0 MRHDR_END 20 14 Bitstring 1 IODDEV_RDEVAFLG Device allocation flag 21 15 Bitstring 1 IODDEV_RDEVLPM logical path mask -logically available channel paths to this device 22 16 Bitstring 1 IODDEV_VDEVIOP1 SIE ASSIST flags 1... .... IODDEV_VDEVIOPX Eligible for SIE ASSIST to XA guest .1.. .... IODDEV_VDEVIOP3 Eligible for SIE ASSIST to 370 guest ..1. .... * ...1 .... * .... 1... * .... .1.. * .... ..1. * .... ...1 * 23 17 Bitstring 1 IODDEV_CALFLAG1 Flags byte. 1... .... IODDEV_CALMDCNO Device is not eligible for minidisk cache. .1.. .... IODDEV_CALMDCDN Caching on for this device, except for minidisks that are explicitly set off. ..1. .... IODDEV_CALMDCDF Caching off for this device, except for minidisks that are explicitly set on. ...1 .... IODDEV_CALMDCOF Caching set off for this device. .... 1... IODDEV_RDEVSHAR DASD is shareable. .... .1.. IODDEV_CALSCMBK RDEVMBLK is non-zero indicating that an SCMBK is assigned to this device .... ..1. IODDEV_CALTHROT Device belongs to throttle set. .... ...1 * 24 18 Unsigned 4 IODDEV_RDEVSID host subchannel I.D. number defined at initialization 28 1C Character 8 IODDEV_RDEVCHPS The eight channel path IDs available to access a device 36 24 Character 6 IODDEV_RDEVSER DASD volume serial identifier 42 2A Character 8 IODDEV_CALUSER Userid of current owner (for dedicated devices only) 50 32 Unsigned 2 IODDEV_RDEVLCNT Cardinal count of minidisks defined on all or any part of this real DASD volume 52 34 Unsigned 2 IODDEV_SCMSSCH SCM Facility Data Cumulative count of SSCHS and RSCHs for this device. This value may be wrapped when format-1 measurement blocks are being used (MTRSYS_CALFLG2 = x'80'). 54 36 Unsigned 2 IODDEV_SCMCOUNT SCM Facility Data (see notes in prolog). Cumulative sample count. Incremented whenever any measurement fields are updated. This value may be wrapped when format-1 measurement blocks are being used (MTRSYS_CALFLG2 = x'80'). 56 38 Unsigned 4 IODDEV_SCMCNTIM SCM Facility Data (see notes in prolog). The time the device is connected to the channel. This is the sum of time intervals measured whenever the device is logically connected to the channel path for purposes of transferring information between it and the channel subsystem. 60 3C Unsigned 4 IODDEV_SCMFPTIM SCM Facility Data (see notes in prolog). Device function pending time, the time interval between acceptance of the start function at the subchannel and acceptance of the first command associated with the initiation of channel-program execution at the device. 64 40 Unsigned 4 IODDEV_SCMDDTIM SCM Facility Data (see notes in prolog). Device disconnect time. The sum of the time intervals measured whenever the device is logically disconnected from the channel subsystem while the subchannel is active 68 44 Unsigned 4 IODDEV_HFRDEVCT Number of high frequency samples done 72 48 Unsigned 4 IODDEV_HFCTIO High-frequency Count. Number of SSCH, HSCH, and CSCH I/O requests queued, excluding the active request. If this is a PAV Alias RDEV for PAV Minidisks, this field will always be zero because all I/O queueing happens on the Base device for PAV Minidisks. To determine if this is a PAV Alias see the field IODDEV_RDEVPVFG.To determine if this device is used for PAV Minidisks, examine IODDEV_CALUSER being set to zero. 76 4C Unsigned 4 IODDEV_RDEVCTSR Cumulative count of SSCHs done for error recovery purposes 80 50 Unsigned 4 IODDEV_RDEVRCWH Cumulative count of real reserve CCWs that have been sent to a device and are held immediately 84 54 Unsigned 4 IODDEV_RDEVRCWP Cumulative count of real reserve CCWs that have been sent to a device and are held pending 88 58 Character 8 IODDEV_RDEVRTPD Cumulative amount of real time a real reserve CCW is held pending 96 60 Unsigned 4 IODDEV_RDEVCTSI Cumulative count of solicited interrupts for this device 100 64 Unsigned 4 IODDEV_RDEVCTUI Cumulative count of unsolicited interrupts for this device 104 68 Unsigned 4 IODDEV_RDEVMICT Cumulative count of missing interrupts detected for this device. Incremented only when the SET MITIME command is active for this device 108 6C Unsigned 4 IODDEV_RDEVCTRG Cumulative count of RDEV lock requests granted immediately for this device 112 70 Unsigned 4 IODDEV_RDEVCTRD Cumulative count of RDEV lock requests that were deferred for this device 116 74 Unsigned 4 IODDEV_RDEVSKCT Cumulative count of DASD access arm position changes (Seek I/O) executed on this device. NOTE: accuracy is not guaranteed since counts may be skipped on multi-track operations on a cache control unit. 120 78 Unsigned 4 IODDEV_RDEVSKSM Cumulative amount of DASD access arm movement (displacements). This is the sum of absolute differences, in cylinders, between successive Seeks. 124 7C Unsigned 4 IODDEV_RDEVWRCT Cumulative number of WRITE channel programs that have occurred on this device 128 80 Unsigned 4 IODDEV_RDEVRDCT Cumulative number of READ channel programs that have occurred on this device 132 84 Unsigned 4 IODDEV_RDEVMCIA Cumulative count of SSCH's avoided due to Minidisk Cache read hit 136 88 Unsigned 4 IODDEV_VIUCNTIN SIE ASSIST Activity Data (see notes in prolog). Cumulative count of times the device was in SIE ASSIST. 140 8C Unsigned 4 IODDEV_VIUTIMIN SIE ASSIST Activity Data (see notes in prolog). Cumulative time, in micro seconds, spent in SIE ASSIST, including getting there. Accumulated after the device starts to leave SIE ASSIST (e.g., it stays zero until after the device leaves SIE ASSIST for the first time). This field will wrap around after a total of about 71 minutes (1.1 hours). 144 90 Unsigned 4 IODDEV_VIUCNTLV SIE ASSIST Activity Data (see notes in prolog). Cumulative count of times the device started to leave SIE ASSIST. 148 94 Unsigned 4 IODDEV_VIUTIMLV SIE ASSIST Activity Data (see notes in prolog). Cumulative time, in mirco seconds, spent in the process of leaving SIE ASSIST. Accumulated after the device has completed the process (e.g., it stays zero until after the device is out of SIE ASSIST for the first time). This field will wrap around after a total of about 71 minutes (1.1 hours). 152 98 Unsigned 4 IODDEV_VIUCNTOT SIE ASSIST Activity Data (see notes in prolog). Cumulative count of times the device is out of SIE ASSIST. Initialized to one. 156 9C Unsigned 4 IODDEV_VIUTIMOT SIE ASSIST Activity Data (see notes in prolog). Cumulative time, in micro seconds, spent outside of SIE ASSIST. Accumulated after the device has gone into SIE ASSIST (e.g., it stays zero until after the first time the device goes into SIE ASSIST). This field will wrap around after a total of about 71 minutes (1.1 hours). 160 A0 Unsigned 4 IODDEV_SCMDATIM SCM Facility Data (see notes in prolog). Device-active-only time. The sum of the time intervals when the subchannel is device-active but not subchannel-active at the end of an I/O operation or chain of I/O operations initiated by START SUBCHANNEL. 164 A4 Character 8 IODDEV_VIUSTAMP SIE ASSIST Activity Data (see notes in prolog). Time stamp of last transition between I/O Assist states. 172 AC Bitstring 1 IODDEV_VIUSTATE SIE ASSIST Activity Data (see notes in prolog). VDEV state in I/O Assist. X'00' = device is OUT of Assist, X'01' = device is IN Assist, X'02' = device is LEAVING Assist 173 AD Character 3 * Reserved and available for IBM use. 176 B0 Unsigned 4 IODDEV_THRDLYS Cummulative count of the number of times I/O was delayed for a throttled device. 180 B4 Unsigned 4 IODDEV_SCMCQTIM SCM Facility Data (see notes in prolog). Control Unit Queuing time. The sum of the time intervals measured by the control unit whenever the device is logically disconnected from the channel subsystem during an I/O operation while the device is busy with an operation initiated from a different system. 184 B8 Unsigned 4 IODDEV_SCMDBTIM SCM Facility Data (see notes in prolog). Accumulated device-busy time. The sum of the time intervals when the subchannel is device busy during an attempt initiate a start function or resume function at the subchannel. 188 BC Unsigned 4 IODDEV_SCMIRTIM SCM Facility Data (see notes in prolog). Accumulated initial- command-response time. The initial-command-response time for a start or resume function is the time interval beginning from when the first command of the channel program is sent to the device until the device indicates it has accepted the command. 192 C0 Unsigned 4 IODDEV_SCGSSCH SCM Facility Data (see notes in prolog). Cumulative count of SSCHs and RSCHs for this device. This is the fullword count which is stored when format-1 measurement blocks are being used (MTRSYS_CALFLG2 = x'80'). 196 C4 Unsigned 4 IODDEV_SCGCOUNT SCM Facility Data (see notes in prolog). Cumulative sample count. Incremented whenever any measurement fields are updated. This is the fullword count which is stored when format-1 measurement blocks are being used (MTRSYS_CALFLG2 = x'80'). 200 C8 Unsigned 2 IODDEV_RDEVDEV Device number 202 CA Unsigned 2 * Reserved and available for IBM use. 204 CC Bitstring 1 IODDEV_EDEVTYPE EDEV emulation type 205 CD Bitstring 1 IODDEV_PREFPATH Preferred path mask 206 CE Character 2 * Reserved and available for IBM use. 208 D0 Unsigned 4 IODDEV_PAVINELG Number of times the alias device tried to take work from the base device and found I/O it could have stolen except that the I/O was ineligible for steal. 212 D4 Unsigned 4 IODDEV_PAVUSES Number of times the alias device took work from the base device. 216 D8 Bitstring 1 IODDEV_RDEVPVFG PAV flag (RDEVPVFG) 1... .... IODDEV_RDEVPVBA PAV Base device .1.. .... IODDEV_RDEVPVAL PAV Alias device ..1. .... * ...1 .... * .... 1... * .... .1.. * .... ..1. * .... ...1 * 217 D9 Character 0 IODDEV_END
MRIODDEV Cross ReferenceHex Hex Name Offset Length Value IODDEV 0 217 IODDEV_CALFLAG1 17 1 IODDEV_CALMDCDF 17 20 IODDEV_CALMDCDN 17 40 IODDEV_CALMDCNO 17 80 IODDEV_CALMDCOF 17 10 IODDEV_CALSCMBK 17 04 IODDEV_CALTHROT 17 02 IODDEV_CALUSER 2A 8 IODDEV_EDEVTYPE CC 1 IODDEV_END D9 0 IODDEV_HFCTIO 48 4 IODDEV_HFRDEVCT 44 4 IODDEV_MRHDR 0 0 IODDEV_PAVINELG D0 4 IODDEV_PAVUSES D4 4 IODDEV_PREFPATH CD 1 IODDEV_RDEVAFLG 14 1 IODDEV_RDEVCHPS 1C 8 IODDEV_RDEVCTRD 70 4 IODDEV_RDEVCTRG 6C 4 IODDEV_RDEVCTSI 60 4 IODDEV_RDEVCTSR 4C 4 IODDEV_RDEVCTUI 64 4 IODDEV_RDEVDEV C8 2 IODDEV_RDEVLCNT 32 2 IODDEV_RDEVLPM 15 1 IODDEV_RDEVMCIA 84 4 IODDEV_RDEVMICT 68 4 IODDEV_RDEVPVAL D8 40 IODDEV_RDEVPVBA D8 80 IODDEV_RDEVPVFG D8 1 IODDEV_RDEVRCWH 50 4 IODDEV_RDEVRCWP 54 4 IODDEV_RDEVRDCT 80 4 IODDEV_RDEVRTPD 58 8 IODDEV_RDEVSER 24 6 IODDEV_RDEVSHAR 17 08 IODDEV_RDEVSID 18 4 IODDEV_RDEVSKCT 74 4 IODDEV_RDEVSKSM 78 4 IODDEV_RDEVWRCT 7C 4 IODDEV_SCGCOUNT C4 4 IODDEV_SCGSSCH C0 4 IODDEV_SCMCNTIM 38 4 IODDEV_SCMCOUNT 36 2 IODDEV_SCMCQTIM B4 4 IODDEV_SCMDATIM A0 4 IODDEV_SCMDBTIM B8 4 IODDEV_SCMDDTIM 40 4 IODDEV_SCMFPTIM 3C 4 IODDEV_SCMIRTIM BC 4 IODDEV_SCMSSCH 34 2 IODDEV_THRDLYS B0 4 IODDEV_VDEVIOPX 16 80 IODDEV_VDEVIOP1 16 1 IODDEV_VDEVIOP3 16 40 IODDEV_VIUCNTIN 88 4 IODDEV_VIUCNTLV 90 4 IODDEV_VIUCNTOT 98 4 IODDEV_VIUSTAMP A4 8 IODDEV_VIUSTATE AC 1 IODDEV_VIUTIMIN 8C 4 IODDEV_VIUTIMLV 94 4 IODDEV_VIUTIMOT 9C 4 MRHDR 0 20 MRHDR_END 14 0 MRHDRDM 4 1 MRHDRLEN 0 2 MRHDRRC 6 2 MRHDRTOD 8 8 MRHDRZER 2 2
This information is based on z/VM V5R2.0.
Last updated on 19 May 2006 at 12:48:31.
Copyright IBM Corporation, 1990, 2006