Programming Interface Information:
The Monitor Records are intended Programming Interfaces that allow the customer to write programs to obtain services of z/VM. |
MRSYTLCK
PrologControl 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 HCPDSVTL: Topology lock RSAAGINL: Global Aging List Lock SLMNDMLK: NDMBK global recycle queue lock DSV_hhhh: 65 locks whose name is of the form DSV_hhhh, where hhhh is a four-character EBCDIC hex integer. These are the locks that protect the 65 DSVBKs. The hhhh value is the dispatch vector ID which is the same value reported in PRCDHF_CALDSVID and PRCDSV_RCCTOPDI. A lock named DSV_FFFF is the lock that protects the master-only DSVBK. 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 40 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 32 20 Unsigned 4 SYTLCK_CALCADSH Total number of CAD instructions executed when attempting to obtain the lock in shared mode. 36 24 Unsigned 4 SYTLCK_CALCADEX Total number of CAD instructions executed when attempting to obtain the lock in exclusive mode.
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_CALCADEX 24 4 SYTLCK_CALCADSH 20 4 SYTLCK_CALENTDSP 1A 2 SYTLCK_CALENTS 28 0 SYTLCK_CALENTSZ 18 2 SYTLCK_CALLCKID 0 8 SYTLCK_CALLKDATA 0 40 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 V6R3.0.
Last updated on 21 Feb 2016 at 18:17:39.
Copyright IBM Corporation, 1990, 2016