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

#### MRPRCMFM

Prolog
Control Block Contents
Cross Reference

#### MRPRCMFM Prolog

     DSECT NAME - PRCMFM
     FUNCTION - Map a Monitor record.
     LOCATED BY -
            Through the Monitor Control Area
     REFERENCED CONTROL BLOCKS -
            MRRECHDR    Monitor Record Header
     NAME - MRPRCMFM
     DESCRIPTIVE NAME - Monitor Sample Record
                        Domain  5 - Processor Domain
                        Record 20 - MT CPUMF Counters
     DESCRIPTION - Provides CPU Measurement Facility counter
                   values for the MT counter sets which are
                   available if and only if MT is enabled.
                   MT counter sets are not under control
                   of the CPUMFC operand which controls the
                   recording of the other CPUMF counters in
                   the D5R13 record. This monitor record
                   is reported when MT is enabled and Processor
                   Domain Sample record reporting is enabled.

                   This monitor record is recorded for all
                   logical CPUs regardless of whether there
                   are multiple CPUs per core for the CPU type.
                   The MT-Diagnostic counter set reported in
                   this record is a core-wide counter set so
                   the same data is reported on all threads of
                   the same core. However, it is possible that
                   the values do not match if the counters
                   were extracted for the core between the
                   generation of records for each thread.
                   It is reasonable to always use the thread 0
                   records as a means of selecting a complete
                   set of data with no redundancy for the
                   MT-Diagnostic counter set.

                   When the P bit is 1, one or more additional
                   monitor records are generated in the same
                   interval with the P bit = 1 in each interim
                   record and the P bit = 0 in the final
                   record.  If a counter set is split across
                   multiple records the offset and length
                   fields will be nonzero in consecutive records
                   and the complete counter set is obtained
                   by concatenating the data from those
                   consecutive records. When data are split
                   across multiple records, PRCMFM_CAL_MFMMASK
                   will have bits set for all counter sets
                   reported in the complete set of records.
     NOTES -
           For additional information about the format and
           meaning of fields defined in this record, refer to
           the following book:
             - Load-Program-Parameter and CPU-Measurement
               Facilities (SA23-2260)

           When multiple MT counter sets are reported in this
           record, the data will be reported sequentially by
           position of the counter set in PRCMFM_CAL_MFMMASK.
           The length of each counter set will be as reported
           in SA23-2260.

           The only measurement alert that applies to the
           MT counter sets is the loss-of-MT-counter-data.
           Therefore this record does not include CCFCTLCD.
           Instead CORCTLMT is included which records the
           number of loss-of-MT-counter-data conditions
           detected.

           This record doesn't include RCCLFTIM which is
           included in D5R13 because counter lifetimes don't
           apply to MT counter sets. MT counter sets can't be
           activated/deactivated by CP or be reset in other
           ways.

           IMPLICATIONS OF MULTITHREADING CONFIGURATION CHANGES.
                  - See the prolog of MRPRCSMT for details.

#### MRPRCMFM Control Block Contents

    Offsets
    Dec  Hex  Type        Len  Name (Dim)             Description

       0   0  Structure    84+ PRCMFM                 Start of monitor record
       0   0  Character     0  PRCMFM_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  Character     *  PRCMFM_INTRO           Introductory section
      20  14  Unsigned      2  PRCMFM_INTLEN          Length of intro section
      22  16  Unsigned      2  PRCMFM_PFXCPUAD        Processor address
      24  18  Bitstring     1  PRCMFM_CAL_MFMMASK     Mask of counter sets that
                                                      are currently activated and
                                                      are reported in this monitor
                                                      record.
              1... ....        *
              .1.. ....        *
              ..1. ....        *
              ...1 ....        *
              .... 1...        *
              .... .1..        *
              .... ..1.        *
              .... ...1        *
      25  19  Bitstring     1  *
              1... ....        *
              .1.. ....        *
              ..1. ....        PRCMFM_QCIMT1CS         MT-Diagnostic
                                                      counter set.
              ...1 ....        *
              .... 1...        *
              .... .1..        *
              .... ..1.        *
              .... ...1        *
      26  1A  Unsigned      1  *                      Reserved for IBM use
      27  1B  Unsigned      1  PRCMFM_FLAGS           Flags
              1... ....        PRCMFM_P                P bit: when P=1, this
                                                      record is a partial response
                                                      and the response is continued
                                                      in the next MRPRCMFM record.
                                                      When P=0 either the entire
                                                      response is returned in this
                                                      record or this record
                                                      completes a partial response.
              .1.. ....        *
              ..1. ....        *
              ...1 ....        *
              .... 1...        *
              .... .1..        *
              .... ..1.        *
              .... ...1        *
      28  1C  Unsigned      4  PRCMFM_CORCTLMT        Cumulative number of times
                                                      a Loss-of-MT-counter-data
                                                      condition was detected.
      32  20  Unsigned      4  PRCMFM_CORCTMON        Reserved for IBM use
      36  24  Unsigned      4  PRCMFM_CORCPUSP        CPU Speed (cycles/microsec)
      40  28  Unsigned      4  PRCMFM_COREXTCT        Count of times MT counters
                                                      were extracted.
      44  2C  Unsigned      2  PRCMFM_CORCFVN         Hardware reported counter
                                                      first version number
      46  2E  Unsigned      2  PRCMFM_CORCSVN         Hardware reported counter
                                                      second version number
      48  30  Character     8  PRCMFM_COREXTTM        TOD clock value when
                                                      counters were harvested
      56  38  Unsigned      2  PRCMFM_MTCSOFF         Offset to MT  counter set
                                                      data.
      58  3A  Unsigned      2  PRCMFM_MTCSLEN         Length of MT  counter set
                                                      data.
      60  3C  Unsigned      1  PRCMFM_CORTHRDS        The count of activated
                                                      threads on this core.
                                                      Valid when nonzero. Will
                                                      be zero on levels that don't
                                                      report it.
      61  3D  Unsigned      1  PRCMFM_TID             Thread ID for this
                                                      processor.
      62  3E  Unsigned      2  PRCMFM_CORID           Core ID for this Processor
      64  40  Unsigned      4  PRCMFM_CORRESV1        Reserved for IBM use
      68  44  Unsigned      4  PRCMFM_CORRESV2        Reserved for IBM use
      72  48  Unsigned      4  PRCMFM_CORRESV3        Reserved for IBM use
      76  4C  Unsigned      4  PRCMFM_CORRESV4        Reserved for IBM use
      80  50  Unsigned      4  PRCMFM_CORTLSEQ        Threading level transition
                                                      sequence number. Odd during
                                                      a threading level change
                                                      and even otherwise. When 0,
                                                      there have not been any
                                                      threading level transitions
                                                      since the core was last
                                                      varied on. The value is
                                                      twice the number of actual
                                                      transitions.
      84  54  Character     0  PRCMFM_INTEND
      84  54  Unsigned      0+ PRCMFM_COUNTERS        MT counter data.
                                                      The offset and length should
                                                      always be used to determine
                                                      the byte offset to the
                                                      counter set in this record
                                                      and the byte length data for
                                                      that counter set.

#### MRPRCMFM 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
    PRCMFM                     0     84+
    PRCMFM_CAL_MFMMASK        18      2
    PRCMFM_CORCFVN            2C      2
    PRCMFM_CORCPUSP           24      4
    PRCMFM_CORCSVN            2E      2
    PRCMFM_CORCTLMT           1C      4
    PRCMFM_CORCTMON           20      4
    PRCMFM_COREXTCT           28      4
    PRCMFM_COREXTTM           30      8
    PRCMFM_CORID              3E      2
    PRCMFM_CORRESV1           40      4
    PRCMFM_CORRESV2           44      4
    PRCMFM_CORRESV3           48      4
    PRCMFM_CORRESV4           4C      4
    PRCMFM_CORTHRDS           3C      1
    PRCMFM_CORTLSEQ           50      4
    PRCMFM_COUNTERS           54      0+
    PRCMFM_FLAGS              1B      1
    PRCMFM_INTEND             54      0
    PRCMFM_INTLEN             14      2
    PRCMFM_INTRO              14      *
    PRCMFM_MRHDR               0      0
    PRCMFM_MTCSLEN            3A      2
    PRCMFM_MTCSOFF            38      2
    PRCMFM_P                  1B           80
    PRCMFM_PFXCPUAD           16      2
    PRCMFM_QCIMT1CS           18           80
    PRCMFM_TID                3D      1

    This information is
    based on z/VM V7R2.0.

    Last updated on 09 August 2020 at 14:45:20.

    Copyright IBM Corporation, 1990, 2020