Programming Interface Information:
This information is NOT intended to be used as Programming Interfaces of z/VM. |
LOCBK
Control Block Contents
LOCBK DSECT
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 RELOCATION CONSIDERATIONS : None 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
Copyright IBM Corporation, 1990, 2011