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

#### MRSYTLCK

Prolog
Control Block Contents
Cross Reference

#### MRSYTLCK Prolog

####

####

     DSECT NAME - SYTLCK
     FUNCTION - Map a Monitor record.
     LOCATED BY -
            Through the Monitor Control Area
     REFERENCED CONTROL BLOCKS -
            MRRECHDR    Monitor Record Header
     NAME - MRSYTLCK
     DESCRIPTIVE NAME - Monitor Sample Record
            Domain 0  - System Domain
            Record 23 - Formal spin lock data
     DESCRIPTION - Data saved in each formal lock area for the formal
                   spin locks in the system.
       List of locks with data in this record:
       Lock ID    Lock Description
       --------   ----------------
       SRMSLOCK:  scheduler lock
       HCPTRQLK:  TRQBK queue lock
       SRMALOCK:  adjunct list lock
       HCPPGDPL:  page allocation lock
       HCPPGDSL:  SPOOL allocation lock
       HCPPGDTL:  T-disk allocation lock
       HCPPGDAL:  CPVOL list lock
       RSAAVLLK:  <2G available list lock
       RSACALLK:  global cleared available list lock
       SYSDATLK:  SYSDATE/SYSTODMD lock
       DCTLLOK:   directory control lock
       FSDVMLK:   free storage lock
       NSUIMGLK:  IMG SNTBK lock
       HCPPGDML:  exposure MLOADs & system total MLOAD lock
       NSUNLSLK:  NLS SNTBK lock
       RSANOQLK:  no-owned resource queue lock
       RCCSFQL:   save frame queue lock
       HCPRCCMA:  switch master processor lock
       RSASXQLK:  SXSPM queue lock
       HCPRCCSL:  symbolic-lock list lock
       RSA2GLCK:  >2G available list lock
       HCPTMFLK:  HCPTIMER lock
       BUTDLKEY:  lock for HCPBUTDL
       RSA2GCLK:  >2G available contiguous list lock
       RSAAVCLK:  <2G available contiguous list lock
       SRMATDLK:  lock for updating SRMATOD and SRMATOD2

     One of these records consists of three sections:
     1) a header at the start of the record.
     2) an array of entries for each of the above spin locks.
        These contain the spin counts and wait times for
        each of the locks listed above.
     3) an array of shared-exclusive lock extension entries.

     The header includes the information needed to locate and
     interpret the date in the two other sections. That is,
     for each array, the header has fields that contain the
     number of entries in the array, the size of an entry,
     and the displacement in bytes from the beginning of this
     record to the first entry in the array.

     The first array has entries for all spin locks: both
     exclusive-only and shared-exclusive. An entry in this
     array is described by SYTLCK_CALLKDATA.

     The second array has entries for shared-exclusive spin
     lock extension data. Only certain locks, those that may
     be acquired either exclusively or shared, have this
     SYNBX extension data associated with it. An entry in
     this array is described by SYTLCK_CALSXENT.

     NOTES:
       -- A single record is generated for the system at each monitor
          sample interval.

       -- Definitions of record version numbers.
          Version N+1 contains all the sections of data in version N
          along with any new sections defined by the version N+1.
          In effect, the version number determines the structure
          of the record header area where variable sections are
          described. The version number is placed in the field
          SYTLCK_CALVERSN in the header.

            SYTLCK_CALVERSN = 0
              includes basic spin lock data as defined
              by SYTLCK_CALLKDATA.

            SYTLCK_CALVERSN = 1
              adds shared-exclusive spin lock data as defined
              by SYTLCK_CALSXENT.

    MRSYTLCK Control Block Contents

    Offsets
    Dec Hex  Type       Len  Name (Dim)             Description

      0   0  Structure   40  SYTLCK                 Start of monitor record
      0   0  Character    0  SYTLCK_CALMRHDR        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     4  SYTLCK_CALNMLKS        Number of spin locks in this
                                                    record. That is, the number of
                                                    SYTLCK_CALLKDATA entries
                                                    included after this header.
     24  18  Unsigned     2  SYTLCK_CALENTSZ        The size (in bytes) of each
                                                    SYTLCK_CALLKDATA entry
     26  1A  Unsigned     2  SYTLCK_CALENTDSP       The displacement (in bytes)
                                                    from the beginning of this
                                                    record to the first
                                                    SYTLCK_CALLKDATA entry. The
                                                    entries are consecutive in
                                                    storage starting with the first
                                                    at this displacement.
     28  1C  Unsigned     1  SYTLCK_CALVERSN        Record version number:
                                                    See SYTLCK_VERnnn constant
                                                    definitions in the prolog
                                                    above.
     29  1D  Unsigned     3  *                      Reserved for future use
     32  20  Unsigned     4  SYTLCK_CALNMSXE        Number of shared-exclusive
                                                    spin lock extensions in this
                                                    record. That is, the number of
                                                    SYTLCK_CALSXENT entries included
                                                    in this record.
     36  24  Unsigned     2  SYTLCK_CALSXENTSZ      The size (in bytes) of
                                                    each SYTLCK_CALSXENT entry.
     38  26  Unsigned     2  SYTLCK_CALSXEDSP       The displacement
                                                    (in bytes) from the beginning of
                                                    this record to the first
                                                    SYTLCK_CALSXENT entry. The
                                                    entries are consecutive in
                                                    storage starting with the
                                                    first at this displacement.
     40  28  Character    0  SYTLCK_CALENTS         Start of the two arrays of
                                                    lock data which contain the
                                                    general spin lock data
                                                    (SYTLCK_CALLKDATA) and the
                                                    shared-exclusive spin lock
                                                    extension (SYTLCK_CALSXENT)
                                                    entries, one for each formal
                                                    spin lock arranged one after
                                                    the other at the end of this
                                                    record. There is an ID field
                                                    in each entry that should be
                                                    used to determine which lock
                                                    the entry represents. See the
                                                    list of LOCKIDs in the prolog
                                                    above to determine which ID
                                                    represents which lock
    Mapping of an entry in the first array which contains basic spin
    counts and times for a number of formal spin locks. (See the list of
    locks in the prolog). There is a separate entry for each formal
    spin lock.

    Offsets
    Dec Hex  Type       Len  Name (Dim)             Description

      0   0  Structure   32  SYTLCK_CALLKDATA       Formal spin lock data entry
      0   0  Character    8  SYTLCK_CALLCKID        IDentifier for this lock
      8   8  Unsigned     4  SYTLCK_CALXSCNT        Total count of times this
                                                    lock has gone into the formal
                                                    spin routine when attempting to
                                                    get the lock in exclusive mode
     12   C  Character    8  SYTLCK_CALXTIME        Total elapsed spin time on
                                                    this lock when attempting to
                                                    get it in exclusive mode,
                                                    starting at zero and counting
                                                    up
     20  14  Unsigned     4  SYTLCK_CALSSCNT        Total count of times this
                                                    lock has gone into the formal
                                                    spin routine when attempting to
                                                    get a share of the lock
     24  18  Character    8  SYTLCK_CALSTIME        Total elapsed spin time on
                                                    this lock when attempting to
                                                    get it in shared mode, starting
                                                    at zero and counting up
    Mapping of an array entry for a shared-exclusive spin lock which
    contains SYNBX extension data for a select number of shared-exclusive
    spin locks.

    Offsets
    Dec Hex  Type       Len  Name (Dim)             Description

      0   0  Structure   72  SYTLCK_CALSXENT        Formal spin lock data entry
      0   0  Character    8  SYTLCK_CALXLKID        IDentifier for this lock
      8   8  Character   16  SYTLCK_SYNBXW4S        Waiting for share entry
     24  18  Character   16  SYTLCK_SYNBXHLS        Held for share entry
     40  28  Character   16  SYTLCK_SYNBXW4X        Waiting for exclusive entry
     56  38  Character   16  SYTLCK_SYNBXHLX        Held exclusive entry
    Mapping for each of the above elements. That is, for:
    SYTLCK_SYNBXW4S, SYTLCK_SYNBXHLS, SYTLCK_SYNBXW4X, and SYTLCK_SYNBXHLX.

    Offsets
    Dec Hex  Type       Len  Name (Dim)             Description

      0   0  Structure   16  SYTLCK_SYNBXENT
      0   0  Unsigned     4  SYTLCK_SYNBXATT        Count of attempts to
                                                    identify a diagnose x'9C' target
      4   4  Unsigned     4  SYTLCK_SYNBXFTG        Count of times a target
                                                    was found
      8   8  Unsigned     4  SYTLCK_SYNBXPTC        Count of potential
                                                    targets considered (for which
                                                    a SIGP SRS was performed)
     12   C  Unsigned     4  *                      Reserved for future use

    MRSYTLCK 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
    SYTLCK                     0     40
    SYTLCK_CALENTDSP          1A      2
    SYTLCK_CALENTS            28      0
    SYTLCK_CALENTSZ           18      2
    SYTLCK_CALLCKID            0      8
    SYTLCK_CALLKDATA           0     32
    SYTLCK_CALMRHDR            0      0
    SYTLCK_CALNMLKS           14      4
    SYTLCK_CALNMSXE           20      4
    SYTLCK_CALSSCNT           14      4
    SYTLCK_CALSTIME           18      8
    SYTLCK_CALSXEDSP          26      2
    SYTLCK_CALSXENT            0     72
    SYTLCK_CALSXENTSZ         24      2
    SYTLCK_CALVERSN           1C      1
    SYTLCK_CALXLKID            0      8
    SYTLCK_CALXSCNT            8      4
    SYTLCK_CALXTIME            C      8
    SYTLCK_SYNBXATT            0      4
    SYTLCK_SYNBXENT            0     16
    SYTLCK_SYNBXFTG            4      4
    SYTLCK_SYNBXHLS           24     16
    SYTLCK_SYNBXHLX           56     16
    SYTLCK_SYNBXPTC            8      4
    SYTLCK_SYNBXW4S            8     16
    SYTLCK_SYNBXW4X           40     16

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

    Last updated on 24 Nov 2013 at 18:45:39.

    Copyright IBM Corporation, 1990, 2013