Programming Interface Information:
This information is NOT intended to be
used as Programming Interfaces of z/VM.

LOCBK

Prolog  

Control Block Contents  
   LOCBK DSECT

Storage Layout  

Cross Reference (Contains links to field and bit definitions)  


LOCBK Prolog

 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
 Notes      : This COPY file was modeled after HCPSYNBK so the
              existing CP spin lock routines could be utilized.

 

LOCBK Control Block Content


LOCBK DSECT

Hex   Dec Type/Val   Lng Label (dup)    Comments
---- ---- --------- ---- -------------- --------
0000    0 Structure      LOCBK          C System Services Lock block
0000    0 Dbl-Word     8 LOCSLOCK (6)   Spin lock
0030   48 Dbl-Word     8 LOCTHRED       Pointer to thread which holds
                                        lock
          00000038       LOCBSIZE       *-LOCBK size in bytes
          00000007       LOCSIZE        (*-LOCBK+7)/8 size in double
                                        words
0000    0 Dbl-Word     8 LOCLOCK (0)    First doubleword of the lock area
0000    0 Bitstring    1 LOCSTATE       Lock word (0 = not held, else CPU
                                        id)
0001    1 Bitstring    1 *              Reserved for future IBM use
0002    2 Signed       2 LOCSHCNT       Shared hold count
0004    4 Signed       2 LOCSEQ         Lock sequence number
0006    6 Signed       2 LOCHCPAD       CPU addr of lock holder End of
                                        LOCLOCK area
0008    8 Signed       2 LOCSWCNT       Shared wait count
000A   10 Signed       2 LOCXWCNT       Exclusive wait count
000C   12 Signed       4 LOCSSCNT       Shared spin count
0010   16 Dbl-Word     8 LOCSTIME       Total elapsed shared spin time
0018   24 Signed       4 LOCHOLDR       Address of holder of this lock
001C   28 Signed       4 LOCXSCNT       Exclusive spin count
0020   32 Dbl-Word     8 LOCXTIME       Total elapsed exclusive spin time
0028   40 Signed       2 LOCPLSDS       Displacement of shared lock
                                        holder field into the PLSBK
002A   42 Signed       2 *              Reserved for future IBM use
002C   44 Signed       4 *              Reserved for future IBM use

 

LOCBK Storage Layout

          
*** LOCBK - C System Services Lock block
*
*     +-------------------------------------------------------+
*   0 |                                                       |
*     =                       LOCSLOCK                        =
*     |                                                       |
*     +-------------------------------------------------------+
*  30 |                       LOCTHRED                        |
*     +-------------------------------------------------------+
*  38
*
*** LOCBK - C System Services Lock block
          
*** Overlay for LOCSLOCK in LOCBK
*
*     +------+------+-------------+-------------+-------------+
*   0 |:STATE|//////|  LOCSHCNT   |   LOCSEQ    |  LOCHCPAD   |
*     +------+------+-------------+-------------+-------------+
*   8 |  LOCSWCNT   |  LOCXWCNT   |         LOCSSCNT          |
*     +-------------+-------------+---------------------------+
*  10 |                       LOCSTIME                        |
*     +---------------------------+---------------------------+
*  18 |         LOCHOLDR          |         LOCXSCNT          |
*     +---------------------------+---------------------------+
*  20 |                       LOCXTIME                        |
*     +-------------+-------------+---------------------------+
*  28 |  LOCPLSDS   |/////////////|///////////////////////////|
*     +-------------+-------------+---------------------------+
*  30
*
*** Overlay for LOCSLOCK in LOCBK

 

LOCBK Cross Reference

Symbol         Dspl Value
-------------- ---- -----
LOCBSIZE       0030 00000038
LOCHCPAD       0006
LOCHOLDR       0018
LOCLOCK        0000
LOCPLSDS       0028
LOCSEQ         0004
LOCSHCNT       0002
LOCSIZE        0030 00000007
LOCSLOCK       0000
LOCSSCNT       000C
LOCSTATE       0000
LOCSTIME       0010
LOCSWCNT       0008
LOCTHRED       0030
LOCXSCNT       001C
LOCXTIME       0020
LOCXWCNT       000A

This information is based on z/VM V6R1.0. Last updated on 18 Feb 2010 at 08:48:52 EDT.
Copyright IBM Corporation, 1990, 2008