|
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.
| |