About cookies on this site Our websites require some cookies to function properly (required). In addition, other cookies may be used with your consent to analyze site usage, improve the user experience and for advertising. For more information, please review your options. By visiting our website, you agree to our processing of information as described in IBM’sprivacy statement. To provide a smooth navigation, your cookie preferences will be shared across the IBM web domains listed here.
SYNBK | Back to Index page |
Prolog Control Block Contents SYNBK DSECT SYNBX DSECT SYNBXENT DSECT Storage Layout Cross Reference (Contains links to field and bit definitions) |
|
SYNBK Prolog | Top of page |
NAME : HCPSYNBK DESCRIPTION: FORMAL SPIN LOCK CONTROL 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 SPIN LOCKS. A spin lock may be either exclusive-only or shared-exclusive. An exclusive-only lock is mapped by the SYNBK DSECT. A shared-exclusive lock is mapped by the SYNBK DSECT and by a contiguous extension mapped by the SYNBX DSECT. ALL SPIN LOCKS ARE OBTAINED THROUGH A STANDARD SYSTEM MACRO, WITH A CALL TO MODULE HCPSYN IF 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 SCHEDULER SPIN LOCK IS CODED IN THE SRMBK AS: SRMSLOCK DS (SYNBKDSZ)D SCHEDULER 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 SCHEDULER 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: HCPLKSCH - GET THE SCHEDULER LOCK. HCPLKSWM - GET THE SWITCH-MASTER LOCK. HCPLKSYN - USED BY OUT-OF-LINE CODE IN HCPSYN TO GET ANY SPIN LOCK IF IN-LINE ATTEMPT FAILS. RELEASED BY - THE HCPUSYNC MACRO (A 'PRIMITIVE'). HCPUSYNC IS ALWAYS IMBEDDED FOR ACTUAL USE IN ANOTHER MACRO SUCH AS: HCPULSCH - RELEASE THE SCHEDULER 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. Similarly, if the size of the SYNBX changes, SYNBXDSZ in HCPEQUAT must be changed. A detailed explanation of formal spin locks is included in the prologue of HCPSYN. |
SYNBK Control Block Content | Top of page |
|
SYNBK Storage Layout | Top of page |
*** SYNBK - FORMAL SPIN LOCK CONTROL BLOCK * * +-------------------------------------------------------+ * 0 | SYNLOCKD | * +-------------------------------------------------------+ * 8 * *** SYNBK - FORMAL SPIN LOCK CONTROL BLOCK *** Overlay for SYNLOCKD in SYNBK * * +---------------------------+ * 0 | SYNLOCKF | 4 * +---------------------------+ * *** Overlay for SYNLOCKD in SYNBK *** Overlay for SYNLOCKD in SYNBK * * +------+------+------+------+-------------+-------------+ * 0 |:STATE|:SHCNT|:XWCNT|:SWCNT| SYNSEQ | SYNHCPAD | * +------+------+------+------+-------------+------+------+ * 8 | SYNHOLDR | SYNPLSDS |:FLAG1|//////| * +---------------------------+-------------+------+------+ * 10 | SYNXSCNT | SYNSSCNT | * +---------------------------+---------------------------+ * 18 | SYNXTIME | * +-------------------------------------------------------+ * 20 | SYNSTIME | * +---------------------------+---------------------------+ * 28 | SYNCADEX |///////////////////////////| * +---------------------------+---------------------------+ * 30 * *** Overlay for SYNLOCKD in SYNBK *** SYNBX - FORMAL SPIN LOCK CONTROL BLOCK * * +-------------------------------------------------------+ * 0 | | * = SYNBXW4S = * | | * +-------------------------------------------------------+ * 18 | | * = SYNBXHLS = * | | * +-------------------------------------------------------+ * 30 | | * = SYNBXW4X = * | | * +-------------------------------------------------------+ * 48 | | * = SYNBXHLX = * | | * +---------------------------+---------------------------+ * 60 | SYNCADSH |///////////////////////////| * +---------------------------+---------------------------+ * 68 * *** SYNBX - FORMAL SPIN LOCK CONTROL BLOCK *** SYNBXENT - FORMAL SPIN LOCK CONTROL BLOCK * * +-------------------------------------------------------+ * 0 | SYNBXMSK | * +---------------------------+---------------------------+ * 8 | SYNBXATT | SYNBXFTG | * +---------------------------+---------------------------+ * 10 | SYNBXPTC |///////////////////////////| * +---------------------------+---------------------------+ * 18 * *** SYNBXENT - FORMAL SPIN LOCK CONTROL BLOCK |
SYNBK Cross Reference | Top of page |
Symbol Dspl Value -------------- ---- ----- SYNAVAIL 0000 00000000 SYNAVLEX 0000 00000001 SYNAVLSH 0000 00000002 SYNBKEXT 002C 00000030 SYNBXATT 0008 SYNBXBSZ 0064 00000068 SYNBXDWS 0064 0000000D SYNBXELN 0014 00000018 SYNBXFTG 000C SYNBXHLS 0018 SYNBXHLX 0048 SYNBXMSK 0000 SYNBXPTC 0010 SYNBXW4S 0000 SYNBXW4X 0030 SYNCADEX 0028 SYNCADSH 0060 SYNCANSH 000E 80 SYNFLAG1 000E SYNHCPAD 0006 SYNHLDEX 0000 00000004 SYNHLDSH 0000 00000008 SYNHOLDR 0008 SYNLOCKD 0000 SYNLOCKF 0000 SYNPLSDS 000C SYNSEQ 0004 SYNSHCNT 0001 SYNSIZE 002C 00000006 SYNSSCNT 0014 SYNSTATB 0000 0000000F SYNSTATE 0000 SYNSTIME 0020 SYNSWCNT 0003 SYNXSCNT 0010 SYNXTIME 0018 SYNXWCNT 0002 |
Copyright IBM Corporation, 1990, 2016