|
Programming Interface Information:
The Monitor Records are intended Programming Interfaces that allow the customer to write programs to obtain services of z/VM. |
MRIODDEV
PrologControl 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.
The I/O measurement fields, IODDEV_PAVxxxxx, are data
that is collected from I/O operations that were executed
on a PAV/HyperPAV Alias device on behalf of a PAV/HyperPAV
Base device. These monitor fields are only filled in
for Pav/HyperPAV base devices that are currently be
measured. The I/O measurements for I/O's executed on
a PAV/HyperPAV base device are accumulated in the RDEVMBLK
by the channel subsystem, while the I/O measurements executed
on a PAV/HyperPAV Alias device on behalf of a PAV/HyperPAV
base device are accumulated in the RDEVPAVM by CP in
HCPPAVSW using measurement deltas that were stored in the
IORBK for the I/O operation that just completed on a
PAV/HyperPAV Alias device on behalf of a PAV/HyperPAV
base device.
MRIODDEV Control Block Contents
Offsets
Dec Hex Type Len Name (Dim) Description
0 0 Structure 260 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 IODDEV_ENCRYCAP When on, device is encryption
capable.
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 is 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. .... IODDEV_RDEVHPBA HyperPAV Base Device
...1 .... IODDEV_RDEVHPAL HyperPAV Alias Device
.... 1... IODDEV_RDEVFREQ HyperPAV Alias Device is on
the free queue
.... .1.. *
.... ..1. *
.... ...1 *
217 D9 Bitstring 1 * Reserved and available for
IBM use.
218 DA Unsigned 2 IODDEV_RDEVHPPL HyperPAV Pool Number
220 DC Unsigned 4 IODDEV_PAVSSCH Cumulative count of SSCHs and
RSCHs executed on Alias devices
on behalf of this Base device
224 E0 Unsigned 4 IODDEV_PAVCOUNT Cumulative sample count for
Alias Devices that were
executing I/O on behalf of this
Base device.
228 E4 Unsigned 4 IODDEV_PAVCNTIM The time Alias devices, on
behalf of this Base device, are
connected to the channel. This
is the sum of time intervals
measured whenever the alias
devices are logically connected
to the channel path for
purposes of transferring
information between them and
the channel subsystem.
232 E8 Unsigned 4 IODDEV_PAVFPTIM Device function pending time
for Alias devices on behalf of
this Base device. It is 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.
236 EC Unsigned 4 IODDEV_PAVDDTIM Device disconnect time for
Alias devices on behalf of this
Base device. It is the sum of
the time intervals measured
whenever the device is
logically disconnected from the
channel subsystem while the
subchannel is active.
240 F0 Unsigned 4 IODDEV_PAVCQTIM Control Unit Queuing time for
Alias devices on behalf of this
Base device. It is 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.
244 F4 Unsigned 4 IODDEV_PAVDATIM Device-active-only time for
Alias devices on behalf of this
Base device. It is 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.
248 F8 Unsigned 4 IODDEV_PAVDBTIM Accumulated device-busy time
for Alias devices on behalf of
this Base device. It is 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.
252 FC Unsigned 4 IODDEV_PAVIRTIM Accumulated initial-command-
response time for Alias devices
on behalf of this Base Device.
The initial-command-resp 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.
256 100 Unsigned 4 IODDEV_PAVCC3S Number of times that I/O
executed on a HyperPAV/PAV
alias device on behalf of this
HyperPAV/PAV Base device
received a CC3 condition and
was retried on the base device.
260 104 Character 0 IODDEV_END
MRIODDEV Cross Reference
Hex Hex
Name Offset Length Value
IODDEV 0 260
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_ENCRYCAP 17 01
IODDEV_END 104 0
IODDEV_HFCTIO 48 4
IODDEV_HFRDEVCT 44 4
IODDEV_MRHDR 0 0
IODDEV_PAVCC3S 100 4
IODDEV_PAVCNTIM E4 4
IODDEV_PAVCOUNT E0 4
IODDEV_PAVCQTIM F0 4
IODDEV_PAVDATIM F4 4
IODDEV_PAVDBTIM F8 4
IODDEV_PAVDDTIM EC 4
IODDEV_PAVFPTIM E8 4
IODDEV_PAVINELG D0 4
IODDEV_PAVIRTIM FC 4
IODDEV_PAVSSCH DC 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_RDEVFREQ D8 08
IODDEV_RDEVHPAL D8 10
IODDEV_RDEVHPBA D8 20
IODDEV_RDEVHPPL DA 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 V5R3.0.
Last updated on 12 Jun 2007 at 12:35:23.
Copyright IBM Corporation, 1990, 2007