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 - SRMSLOCK is no longer the Scheduler Lock data structure. It is now an SXL-style lock with the SXLXL located at SRMSCHLK. This record now reports statistics aggregated from the per-processor SXLEN data structures to provide comparable statistics. The share request spin counts and times now include HCPDSP's internal spin loop used when the lock is not immediately available. 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 - DELETED 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 - DELETED HCPTMFLK: HCPTIMER lock BUTDLKEY: lock for HCPBUTDL RSA2GCLK: >2G available contiguous list lock - DELETED RSAAVCLK: <2G available contiguous list lock - DELETED SRMATDLK: lock for updating SRMATOD and SRMATOD2 HCPDSVTL: Topology lock - HCPDSVTL is no longer defined by SYNBK/SYNBX data structures. It is now an SXL-style lock with the SXLXL located at HCPDSVTL. This record now reports statistics aggregated from the per-processor SXLEN data structures to provide comparable statistics. RSAAGINL: Global Aging List Lock SLMNDMLK: NDMBK global recycle queue lock DSV_hhhh: 129 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 129 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. HX1_rrrr: 3 locks per volume read from or written to HX2_rrrr: by the paging subsystem, where rrrr is the HX3_rrrr: four-character EBCDIC hex device number for the volume. Each lock controls access to a separate cache line in the exposure block (HXPBK). The number of HXPBK locks may not be consistent across all Monitor intervals because volumes can be attached or detached, and mapped minidisk pools may be created and destroyed. AVZBnnnn: Available list zone locks below and above 2G, AVZAnnnn: where nnnn is the zone number. There is one lock per zone and the number of zones created is determined by several factors at startup. Each record consists of three sections: 1) a header at the start of the record. 2) an array of entries. One per spinlock listed above. 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 data 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 entries in the array described by SYTLCK_CALSXENT. The shared- exclusive spinlock manager has been redesigned to reduce cache contention. As a result, the data reported in this section is no longer pulled from a SYNBK/SYNBX control block pair, but from a set of SXLENs that contain per- processor lock statistics. The reported information is consistent with the meaning from the old lock manager. The Diagnose x'9C' usage is a bit different, and has been reduced because of target identification improvements. Therefore the Diagnose x'9C'-related statistics will differ and Diagnose x'9C's should be less frequent. The MRPRCSXL (D5R22) record contains additional details for shared-exclusive spinlocks beyond what is reported in this record, and is reported per processor for any processor that ever used the shared-exclusive spinlocks even if the processor is currently offline. NOTES: -- Four or more records are generated for the system at each Monitor sample interval. The first record contains the basic locks. The second record contains 129 DSV locks and has potential to fill more than one record. The next record contains HXn_rrrr locks and may fill more than one record. After the HXn_rrrr locks record(s) is the available list zone locks which may fill more than one record. -- 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. SYTLCK_CALVERSN = 2 adds continuation record support
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 Bitstring 1 SYTLCK_CALFLAGS Flag field. 1... .... SYTLCK_CALSXLKS Shared-exclusive lock manager uses SXL-style locks. .1.. .... SYTLCK_CALSEMA Assist use enabled. ..1. .... * ...1 .... * .... 1... * .... .1.. * .... ..1. * .... ...1 * 30 1E Unsigned 2 * 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 wall-clock spin time in TOD units 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 wall-clock spin time in TOD units 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_CALFLAGS 1D 1 SYTLCK_CALLCKID 0 8 SYTLCK_CALLKDATA 0 40 SYTLCK_CALMRHDR 0 0 SYTLCK_CALNMLKS 14 4 SYTLCK_CALNMSXE 20 4 SYTLCK_CALSEMA 1D 40 SYTLCK_CALSSCNT 14 4 SYTLCK_CALSTIME 18 8 SYTLCK_CALSXEDSP 26 2 SYTLCK_CALSXENT 0 72 SYTLCK_CALSXENTSZ 24 2 SYTLCK_CALSXLKS 1D 80 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 V7R1.0.
Last updated on 12 Sept 2018 at 09:26:44.
Copyright IBM Corporation, 1990, 2018