|
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 280 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.
IODDEV_RDEVSKSM is deprecated
and should not be used for
further development. Code
should be changed to use
IODDEV_RDEVSKSM64 defined
below. For values above
'FFFFFFFF'x then this field
will contain 'FFFFFFF'x (and
will not wrap).
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 Cumulative 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 8 IODDEV_RDEVSKSM64
260 104 Unsigned 4 IODDEV_RDEVSKSM64_HI
264 108 Unsigned 4 IODDEV_RDEVSKSM64_LO Cumulative amount of DASD
access arm movement
(displacements). This is the
sum of absolute differences,
in cylinders, between
successive Seeks.
268 10C Bitstring 1 IODDEV_RDEVFCXM Mask of paths that support zHPF
269 10D Bitstring 1 IODDEV_CUIFCXP zHPF features supported on CU
270 10E Unsigned 2 IODDEV_RDEVMAXD The smallest zHPF maximum data
count from Store Channel-Path
Description CHSC of all CHPIDs
added to the LPM for this device
272 110 Unsigned 4 IODDEV_RDEVWXCT Cumulative number of TM (zHPF)
WRITE channel pgms that have
occurred on this device
276 114 Unsigned 4 IODDEV_RDEVRXCT Cumulative number of TM (zHPF)
READ channel pgms that have
occurred on this device
280 118 Character 0 IODDEV_END
MRIODDEV Cross Reference
Hex Hex
Name Offset Length Value
IODDEV 0 280
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_CUIFCXP 10D 1
IODDEV_EDEVTYPE CC 1
IODDEV_ENCRYCAP 17 01
IODDEV_END 118 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_RDEVFCXM 10C 1
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_RDEVMAXD 10E 2
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_RDEVRXCT 114 4
IODDEV_RDEVSER 24 6
IODDEV_RDEVSHAR 17 08
IODDEV_RDEVSID 18 4
IODDEV_RDEVSKCT 74 4
IODDEV_RDEVSKSM 78 4
IODDEV_RDEVSKSM64 104 8
IODDEV_RDEVSKSM64_HI 104 4
IODDEV_RDEVSKSM64_LO 108 4
IODDEV_RDEVWRCT 7C 4
IODDEV_RDEVWXCT 110 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 V6R2.0.
Last updated on 20 Mar 2013 at 14:48:04.
Copyright IBM Corporation, 1990, 2013