Programming Interface Information: The Monitor Records are intended Programming Interfaces that allow the customer to write programs to obtain services of z/VM.

#### MRIODDEV

Prolog
Control Block Contents
Storage Layout
Cross Reference

#### MRIODDEV Prolog

####

####

     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.  Not valid if the device was in SIE ASSIST
         and the V=R specifies that an Alternate Measurement Block is to
         be used.  (Note: this data will always be valid for a 370 V=R
         guest since VM/370 does not support Alternate Measurement Block)
       - "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 Contents

    Offsets
    Dec Hex  Type       Len  Name (Dim)          Description

      0   0  Structure  184  IODDEV
      0   0  Character    0  IODDEV_MRHDR        Record header. See MRRECHDR for
                                                 details.
      0   0  Character   20  MRHDR
      0   0  Unsigned     2  MRHDRLEN            record length in bytes
      2   2  Unsigned     2  MRHDRZER            field of zeros
      4   4  Unsigned     1  MRHDRDM             domain identifier
      5   5  Unsigned     1  *
      6   6  Unsigned     2  MRHDRRC             record identifier
      8   8  Character    8  MRHDRTOD            Time at which this record was
                                                 built. In time-of-day (TOD) clock
                                                 format. See IBM System 370 XA
                                                 Principle of Operation for
                                                 explanation of format.
     16  10  Character    4  *
     20  14  Character    0  MRHDR_END           End of header
     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 (see notes in
                                                 prolog). Cumulative count of SSCHs
                                                 and RSCHs for this device
     54  36  Unsigned     2  IODDEV_SCMCOUNT     SCM Facility Data (see notes in
                                                 prolog). Cumulative sample count.
                                                 Incremented whenever any
                                                 measurement fields are updated.
     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. RDEVCTIO
     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  Character    0  IODDEV_END

    MRIODDEV Cross Reference

                          Hex           Hex
    Name                 Offset Length Value

    IODDEV                  0    184
    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_END             B8      0
    IODDEV_HFCTIO          48      4
    IODDEV_HFRDEVCT        44      4
    IODDEV_MRHDR            0      0
    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_RDEVLCNT        32      2
    IODDEV_RDEVLPM         15      1
    IODDEV_RDEVMCIA        84      4
    IODDEV_RDEVMICT        68      4
    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_SCMCNTIM        38      4
    IODDEV_SCMCOUNT        36      2
    IODDEV_SCMCQTIM        B4      4
    IODDEV_SCMDATIM        A0      4
    IODDEV_SCMDDTIM        40      4
    IODDEV_SCMFPTIM        3C      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 V4R3.0.

    Last updated on 1 May 2002 at 16:20:33.

    Copyright IBM Corporation, 1990, 2002