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