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

SYNBK

Prolog
Control Block Contents
SYNBK DSECT
Storage Layout
Cross Reference

SYNBK Prolog

 NAME       : HCPSYNBK
 DESCRIPTION: SYNCHRONIZING 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.  THE LOCK IS ALWAYS 3 DOUBLE-WORDS.
              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    3D             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.
 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.

 

SYNBK Control Block Content

SYNBK DSECT

Hex   Dec Type/Val   Lng Label (dup)    Comments
---- ---- --------- ---- -------------- --------
0000    0 Structure      SYNBK          SYNCHRONIZING LOCK CONTROL BLOCK
0000    0 Signed       4 SYNLOCK        SPIN LOCK WORD. CONTENTS ZERO
                                        MEANS LOCK IS NOT HELD. NON-ZERO
                                        CONTENTS IS THE LOGICAL CPU
                                        IDENTIFIER (FROM PFXLCPUA) OF THE
                                        CPU WHICH HOLDS THE LOCK.
0004    4 Signed       4 SYNHOLDR       MACRO ADDRESS LAST OBTAINING THIS
                                        LOCK
0008    8 Dbl-Word     8 SYNTIME        ELAPSED SPIN TIME ON THIS LOCK
                                        STARTING AT ZERO AND COUNTING UP
0010   16 Signed       4 SYNCOUNT       NUMBER OF SPINS ON THIS LOCK
0014   20 Signed       4 *              RESERVED FOR FUTURE IBM USE
          00000003       SYNSIZE        (*-SYNBK+7)/8 SYNBK SIZE IN
                                        DOUBLE-WORDS WHICH MUST BE 3
                                        DOUBLE-WORDS SINCE IT IS IMBEDDED
                                        IN OTHER CONTROL BLOCKS AND CODE.

 

SYNBK Storage Layout

          
*** SYNBK - SYNCHRONIZING LOCK CONTROL BLOCK
*
*     +---------------------------+---------------------------+
*   0 |         SYNLOCK           |         SYNHOLDR          |
*     +---------------------------+---------------------------+
*   8 |                       SYNTIME                         |
*     +---------------------------+---------------------------+
*  10 |         SYNCOUNT          |///////////////////////////|
*     +---------------------------+---------------------------+
*  18
*
*** SYNBK - SYNCHRONIZING LOCK CONTROL BLOCK

 

SYNBK Cross Reference

Symbol         Dspl Value
-------------- ---- -----
SYNCOUNT       0010
SYNHOLDR       0004
SYNLOCK        0000
SYNSIZE        0014 00000003
SYNTIME        0008

This information is based on z/VM V3R1.0.
Last updated on 30 Mar 2001 at 08:56:31 EDT.
Copyright IBM Corporation, 1990, 2001