| SYNBK | Back to Index page |
|
Prolog Control Block Contents SYNBK DSECT Storage Layout Cross Reference (Contains links to field and bit definitions) |
|
| SYNBK Prolog | Top of page |
NAME : HCPSYNBK
DESCRIPTION: Formal exclusive-only spinlock block
DSECT : SYNBK
FUNCTION : THIS DSECT DESCRIBES THE CONTROL AREA WHICH
IS USED TO REPRESENT A SPIN LOCK. IN GENERAL,
THE SPIN LOCKS IN THE SYSTEM ARE PERMANENTLY
IMBEDDED WITHIN OTHER CONTROL BLOCKS OR MODULES.
THIS DSECT DESCRIBES COMMON FORMAT OF ALL formal
exclusive-only spinlocks.
For shared-exclusive spinlocks see HCPSXLBK COPY.
All exclusive-only spinlocks are obtained using
standard macros, with a call to module HCPSYN is
THE LOCK IS NOT OBTAINED IN-LINE TO THE REQUESTING
CODE.
LOCATED BY : THE SYNBK DESCRIBES ANY OF THE SEVERAL SPECIFIC SPIN
LOCKS, THEREFORE LOCATING IT DEPENDS UPON LOCATING THE
PARTICULAR SPIN LOCK OF INTEREST. FOR EXAMPLE, THE
TRQBK Queue SPIN LOCK IS CODED IN HCPTRQ AS:
HCPTRQLK DS (SYNBKDSZ)D TRQBK queue lock
CREATED BY : GENERALLY THE SYNBK OF A SPIN LOCK IS:
(1) HARD-CODED IN A MODULE AND THEREFORE GENERATED
BY THE ASSEMBLER. E.G., THE SWITCH-MASTER LOCK
IN HCPMPF.
(2) IMBEDDED IN A PERMANENTLY ALLOCATED CONTROL BLOCK.
E.G., The ATOD lock in the SRMBK.
DELETED BY : GENERALLY SYNBK'S ARE NOT DELETED SINCE THEY ARE GENERALLY
IMBEDDED IN MODULES OR IN PERMANENTLY ALLOCATED CONTROL
BLOCKS.
RELOCATION CONSIDERATIONS : None
NOTES : OBTAINED BY -
THE HCPSYNC MACRO (A 'PRIMITIVE'). HCPSYNC IS ALWAYS
IMBEDDED FOR ACTUAL USE IN ANOTHER MACRO SUCH AS:
HCPLKTRQ - Get the TRQBK queue lock.
HCPLKSWM - GET THE SWITCH-MASTER LOCK.
RELEASED BY -
THE HCPUSYNC MACRO (A 'PRIMITIVE'). HCPUSYNC IS ALWAYS
IMBEDDED FOR ACTUAL USE IN ANOTHER MACRO SUCH AS:
HCPULTRQ - Release the TRQBK queue lock.
HCPULSWM - RELEASE THE SWITCH-MASTER LOCK.
Notes :
If the size of the SYNBK changes, the equate
called SYNBKDSZ in HCPEQUAT must be changed to
match the new size.
A detailed explanation of formal exclusive-only
spinlocks is included in the prologue of HCPSYN.
For shared-exclusive spinlocks see HCPSXL.
|
| SYNBK Control Block Content | Top of page |
|
| SYNBK Storage Layout | Top of page |
*** SYNBK - Formal exclusive-only spinlock block
*
* +-------------------------------------------------------+
* 0 | SYNLOCKD |
* +-------------------------------------------------------+
* 8
*
*** SYNBK - Formal exclusive-only spinlock block
*** Overlay for SYNLOCKD in SYNBK
*
* +---------------------------+
* 0 | SYNLOCKF | 4
* +---------------------------+
*
*** Overlay for SYNLOCKD in SYNBK
*** Overlay for SYNLOCKD in SYNBK
*
* +------+------+-------------+---------------------------+
* 0 |:STATE|//////| SYNHCPAD | SYNHOLDR |
* +------+------+-------------+---------------------------+
* 8 | SYNXTIME |
* +---------------------------+---------------------------+
* 10 | SYNXSCNT | SYNCADEX |
* +---------------------------+---------------------------+
* 18 |///////////////////////////////////////////////////////|
* =///////////////////////////////////////////////////////=
* |///////////////////////////////////////////////////////|
* +-------------------------------------------------------+
* 30
*
*** Overlay for SYNLOCKD in SYNBK
|
| SYNBK Cross Reference | Top of page |
Symbol Dspl Value -------------- ---- ----- SYNAVAIL 0000 00000000 SYNAVALF 0000 SYNLOCKF SYNBKEND 0018 00000030 SYNCADEX 0014 SYNEXCL 0000 00000080 SYNHCPAD 0002 SYNHOLDR 0004 SYNINITF 0000 00 SYNLOCKD 0000 SYNLOCKF 0000 SYNNOCPU 0002 0000FFFF SYNSIZE 0018 00000006 SYNSTATE 0000 SYNXSCNT 0010 SYNXTIME 0008 |
Copyright IBM Corporation, 1990, 2022