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

                          Hex           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