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
Cross Reference


 FUNCTION - Map a Monitor record.
        Through the Monitor Control Area
        MRRECHDR    Monitor Record Header
 DESCRIPTIVE NAME - Monitor Sample Record
                    Domain  5 - Processor Domain
                    Record 17 - Real CPU Data (per CPU)
 DESCRIPTION - Provides data related to a real CPU in the partition.
               A separate record is generated for each real CPU.
               When this record is present in monitor data,
               this record and Domain 5 Record 18 should be used
               instead of Domain 5 Record 3. Domain 5 Records 17
               and 18 are intended to replace Domain 5 Record 3.
 NOTE: When a field in this record uses the term "CPU/core",
       the meaning of the field changes based on whether
       Multithreading (MT) is enabled for this partition.
       Refer to Monitor Sample Record Domain 1 Record 4
       (MRMTRSYS) to determine whether MT is enabled for
       this partition as well as the number of threads for
       each CPU type.
       When MT is not enabled, a physical core contains
       only one CPU:
         - CPU  : central processing unit (processor).
         - CORE : physical unit containing one CPU.
                  In this environment the core has
                  1 thread, the term thread is not used,
                  and the term "CPU" is generally favored
                  over the term "core".
       When MT is enabled, a physical core contains one or
       more CPUs (aka "threads"):
         - CPU   : central processing unit (processor).
                  Identified by CPU address which consists
                  of core ID and thread ID.
         - CORE  : physical unit containing one or more CPUs
                  (aka "threads"). All CPUs of a core have
                  the same CPU type.
         - THREAD: synonym for a CPU that is a memeber of a
                   core. Each thread on a core has a
                   distinct thread ID (TID), numbered from
                   0 up to the maximum thread ID available
                   on the core.

MRPRCRCD Control Block Contents

Dec  Hex  Type        Len  Name (Dim)             Description
   0   0  Structure    64+ PRCRCD                 Start of monitor record
   0   0  Character     0  PRCRCD_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  Unsigned      2  PRCRCD_PFXCPUAD        Processor's CPU address
  22  16  Unsigned      2  *                      Reserved for IBM use
  24  18  Unsigned      4  PRCRCD_PFXDSPCS        Count of 'long paths'
                                                  through the dispatcher. This
                                                  is roughly the number of
                                                  times a different user was
                                                  selected to be dispatched. It
                                                  includes also the number of
                                                  times a running user was
                                                  examined to see if it should
                                                  continue to run, and was
                                                  selected to run again (no
                                                  switch made).
  28  1C  Unsigned      4  PRCRCD_PLSDSPCM        Count of times a VMDBK was
                                                  chosen to be dispatched, then
                                                  had to be moved to the master
                                                  processor for master-only
                                                  work. This is the only time
                                                  work will be passed from a
                                                  non-master-processor to
                                                  another processor.
  32  20  Character     8  PRCRCD_CALUDED         If processor is dedicated,
                                                  this is the userid to which
                                                  it is dedicated. Otherwise,
                                                  the field is binary zeros.
  40  28  Unsigned      1  PRCRCD_PFXTYPE         Host CPU usage type
                                                  identifier. Processor type is:
                                                  X'14' = Master Processor
                                                  X'1E' = Dedicated Processor
                                                  X'28' = Alternate Processor
                                                  X'32' = Parked Processor
  41  29  Unsigned      1  PRCRCD_PFXCPUTY        CPU type. Valid values:
                                                  X'00' - General Purpose (CP)
                                                  X'02' - zSeries Application
                                                          Assist (zAAP)
                                                  X'03' - Integrated Facility
                                                          for Linux (IFL)
                                                  X'04' - Internal Coupling
                                                          Facility (ICF)
                                                  X'05' - zSeries Integrated
                                                          Information (zIIP)
  42  2A  Unsigned      1  PRCRCD_PFXSTATE        CPU Operating Status. Valid
                                                  000 x'00' CPU is online and
                                                  022 x'16' Attempting to quiesce
                                                            this CPU so it can be
                                                            taken offline
                                                  044 x'2C' CPU has been quiesced
                                                            and is in disable wait
                                                            state so it can be taken
                                                  055 x'37' CPU is check-stopped
                                                  066 x'42' CPU is now logically
                                                  110 x'6E' CPU is physically
                                                  238 x'EE' CPU is in an unknown
                                                            state (SIGP
                                                            communication failure)
                                                  130 x'82' CPU is being brought
  43  2B  Unsigned      1  PRCRCD_PFXPOLAR        Current polarization of the
                                                  CPU/core. It is one of 4 possible
                                                  values: X'00' - The CPU is
                                                  X'00' - The CPU is horizontally
                                                  X'01' - The CPU is vertically
                                                          polarized with low
                                                  X'02' - The CPU is vertically
                                                          polarized with medium
                                                  X'03' - The CPU is vertically
                                                          polarized with high
                                                  Note that while z/VM does not
                                                  park horizontally polarized
                                                  CPUs/cores, it is possible to observe
                                                  a parked horizontal CPU/core. This
                                                  can occur during the transition
                                                  between vertical and horizontal
                                                  polarization. Shortly following
                                                  this transition, z/VM will
                                                  unpark any parked horizontal
  44  2C  Unsigned      4  PRCRCD_CALENTMT        For vertical CPUs/cores
                                                  (PRCRCD_PFXPOLAR <> X'00'),
                                                  this is a scaled number
                                                  between X'00000000' and
                                                  X'00010000' representing the
                                                  portion of a physical CPU/core to
                                                  which this vertical CPU/core is
                                                  entitled. This value is
                                                  X'00000000' for a horizontal
                                                  When MT is enabled, this core
                                                  value is repeated in the monitor
                                                  record of each CPU in the core.
                                                  These values are not to be added
                                                  up across the core.
  48  30  Unsigned      2  PRCRCD_RCCTOPDI        DSVBK index for CPU.
                                                  If processor is not a member
                                                  of any active Dispatch Vector
                                                  Block, it contains all ones.
  50  32  Unsigned      1  PRCRCD_MAXTOPO         Maximum number of
                                                  topology levels currently
                                                  This value defines upper
                                                  boundary of a dimension of
                                                  the PRCRCD_PLSSTLTL array.
  51  33  Unsigned      1  PRCRCD_SIZTOPDS        This value defines the
                                                  size (in bytes) of the
                                                  PRCRCD_RCCTOPDS field.
  52  34  Unsigned      2  PRCRCD_OFFTOPDS        Offset within this record
                                                  to the beginning of the
                                                  PRCRCD_RCCTOPDS field.
  54  36  Unsigned      2  PRCRCD_OFFSTLTL        Offset within this record
                                                  to the beginning of the
                                                  PRCRCD_PLSSTLTL array.
  56  38  Unsigned      1  PRCRCD_CALMNEST        When the configuration-
                                                  topology facility is installed,
                                                  this is the selector 2 (x) value
                                                  used by CP on the STSI 15.1.x to
                                                  obtain CPU topology information.
                                                  When the configuration-topology
                                                  facility is not installed, this
                                                  contains a value of 1.
                                                  This value is used to determine
                                                  the number of valid entries
                                                  in the PRCRCD_PLSSTLTL array.
  57  39  Character     3  *                      Reserved for IBM use.
  60  3C  Unsigned      4  PRCRCD_PLSTSEAR        Count of times a time
                                                  slice ended early because the
                                                  guest loaded a wait state
                                                  within the TSEARLY threshold
  64  40  Character     0  *                      Additional fields may be
                                                  inserted before here. Use
                                                  offsets to locate any fields
                                                  after this point.
   0   0  Bit          32  PRCRCD_RCCTOPDS        This topology descriptor
                                                  or identifier consists of
                                                  the container IDs for each
                                                  level of the topology tree
                                                  above the dispatch vector
                                                  specified in PRCRCD_RCCTOPDI.
                                                  These container IDs are
                                                  positioned left to right with
                                                  the highest nesting level
                                                  listed first.
                                                  When MT is enabled, this value
                                                  is given for each thread (CPU)
                                                  in the core and indicates which
                                                  dispatch vector each CPU is
                                                  drawing work from.
   0   0  Unsigned      4  PRCRCD_PLSSTLTL(0:MAXTOPO) Array of counters
                                                  indicating how many times this
                                                  CPU stole a VMDBK across
                                                  different topology levels.
                                                  Entry 0:Count of times this CPU
                                                          stole a VMDBK from a
                                                          DSVBK that is in an
                                                          equivalent nesting level
                                                          1 (NL1) topology location.
                                                  Entry 1:Count of times this CPU
                                                          stole a VMDBK from a DSVBK
                                                          in a different nesting level
                                                          1 (NL1) topology location
                                                          but the same NL2 location.
                                                  Entry 2:Count of times this CPU
                                                          stole a VMDBK from a DSVBK
                                                          in a different nesting level
                                                          2 (NL2) topology location
                                                          but the same NL3 location.
                                                  Entry 3:Count of times this CPU
                                                          stole a VMDBK from a DSVBK
                                                          in a different nesting level
                                                          3 (NL3) topology location
                                                          but the same NL4 location.
                                                  Entry 4:Count of times this CPU
                                                          stole a VMDBK from a DSVBK
                                                          in a different nesting level
                                                          4 (NL4) topology location
                                                          but the same NL5 location.
                                                  Entry 5:Count of times this CPU
                                                          stole a VMDBK from a DSVBK
                                                          in a different nesting level
                                                          5 (NL5) topology location.
                                                  PRCRCD_OFFSTLTL should be used
                                                  to locate the start of this
                                                  Only the first PRCRCD_CALMNEST
                                                  entries contain valid data.
   *   *  Character     0  PRCRCD_END

MRPRCRCD Cross Reference

                      Hex           Hex
Name                  Offset Length Value 
MRHDR                      0     20
MRHDR_END                 14      0
MRHDRDM                    4      1
MRHDRLEN                   0      2
MRHDRRC                    6      2
MRHDRTOD                   8      8
MRHDRZER                   2      2
PRCRCD                     0     64+
PRCRCD_CALENTMT           2C      4
PRCRCD_CALMNEST           38      1
PRCRCD_CALUDED            20      8
PRCRCD_END                 *      *
PRCRCD_MAXTOPO            32      1
PRCRCD_MRHDR               0      0
PRCRCD_OFFSTLTL           36      2
PRCRCD_OFFTOPDS           34      2
PRCRCD_PFXCPUAD           14      2
PRCRCD_PFXCPUTY           29      1
PRCRCD_PFXDSPCS           18      4
PRCRCD_PFXPOLAR           2B      1
PRCRCD_PFXSTATE           2A      1
PRCRCD_PFXTYPE            28      1
PRCRCD_PLSDSPCM           1C      4
PRCRCD_PLSSTLTL            0      *
PRCRCD_PLSTSEAR           3C      4
PRCRCD_RCCTOPDI           30      2
PRCRCD_RCCTOPDS            0      *
PRCRCD_SIZTOPDS           33      1
This information is
based on z/VM V6R4.0.

Last updated on 5 Oct 2016 at 13:50:15.
Copyright IBM Corporation, 1990, 2016