LOCBK Back to Index page
 
Prolog 
Control Block Contents 
   LOCBK DSECT
Storage Layout 
Cross Reference (Contains links to field and bit definitions)
Programming Interface Information:
This information is NOT intended to be
used as Programming Interfaces of z/VM.


  LOCBK Prolog Top of page
 
 NAME       : HCPLOCBK
 DESCRIPTION: C System Services Lock block
 DSECT      : LOCBK
 FUNCTION   : C System Services Lock block used to describe the
              spin lock used by platform specific C Services
 LOCATED BY : Passed as argument on lock, unlock, testLock
              and eventWait services
 CREATED BY : allocateLock service
 DELETED BY : deallocateLock service
 SERIALIZED : CP lock routines
 RELOCATION CONSIDERATIONS : None
 NOTES      : LOCSLOCK is defined to be the size of a SYNBK so
              that it can be mapped with by the SYNBK. LOCLOCK
              maps the first dword of SYNBK; i.e. SYNLOCKD.
              This control block is allocated from SHORTTERM
              free storage, but of 29 dwords so that when the
              header and trailer are added it is cache aligned
              and uses the entire cache line. This is to avoid
              what appears to be spinlock contention but is
              cache line contention from different locks in the
              same cache line.
 
 
  LOCBK Control Block Content Top of page
 

 LOCBK DSECT Top of page
Hex Dec Type/Val Lng Label (dup) Comments ---- ---- --------- ---- -------------- -------- 0000 0 Structure LOCBK C System Services Lock block 0000 0 Signed 8 LOCSLOCK (6) Spin lock 0030 48 Address 8 LOCTHRED Pointer to thread which holds lock 00000038 LOCUSED (*-LOCBK) Size of used LOCBK space. 0038 56 Bitstring 1 * (176) Reserved for IBM use. 000000E8 LOCBSIZE *-LOCBK size in bytes 0000001D LOCSIZE (*-LOCBK+7)/8 size in double words 0000 0 Signed 8 LOCLOCK First doubleword of the lock area
 
 
  LOCBK Storage Layout Top of page
 
          
*** LOCBK - C System Services Lock block
*
*     +-------------------------------------------------------+
*   0 |                                                       |
*     =                       LOCSLOCK                        =
*     |                                                       |
*     +-------------------------------------------------------+
*  30 |                       LOCTHRED                        |
*     +-------------------------------------------------------+
*  38 |///////////////////////////////////////////////////////|
*     =///////////////////////////////////////////////////////=
*     |///////////////////////////////////////////////////////|
*     +-------------------------------------------------------+
*  E8
*
*** LOCBK - C System Services Lock block
          
*** Overlay for LOCSLOCK in LOCBK
*
*     +-------------------------------------------------------+
*   0 |                       LOCLOCK                         |
*     +-------------------------------------------------------+
*   8
*
*** Overlay for LOCSLOCK in LOCBK
 
 
  LOCBK Cross Reference Top of page
 
 
Symbol         Dspl Value
-------------- ---- -----
LOCBSIZE       0038 000000E8
LOCLOCK        0000
LOCSIZE        0038 0000001D
LOCSLOCK       0000
LOCTHRED       0030
LOCUSED        0030 00000038
 
This information is based on z/VM 7.3.0 Last updated on 22 Jun 2022 at 15:52:20 EDT.
Copyright IBM Corporation, 1990, 2022