KCMBK Back to Index page
 
Prolog 
Control Block Contents 
   KCMBK DSECT
Storage Layout 
Cross Reference (Contains links to field and bit definitions)
Programming Interface Information:
This information is NOT intended to be
used as Programming Interfaces of z/VM.


  KCMBK Prolog Top of page
 
 NAME       : HCPKCMBK
 DESCRIPTION: Kernel communication management block
 DSECT      : KCMBK
 FUNCTION   :
              This structure defines the ISFC socket infrastructure
              needed for VMPLEX communications.
 LOCATED BY :
              HCPKCSKM = Area reserved for the KCMBK
 CREATED BY :
              Storage for the KCMBK is reserved in module HCPKCS
              when it is compiled.
 DELETED BY :
              None.
 RELOCATION CONSIDERATIONS : None
 SERIALIZED :
              The fields in the KCMBK are serialized by the KCMLKWRD.
              Lock Hierarchy -
              The following list is arranged to represent the sequence
              in which these locks must be OBTAINED (when multiple
              locks are required):
  These tiers show the order for obtaining ISFC locks.
  Jump in at any level, but from that point on, you
  may obtain additional locks ONLY from a lower tier.
  -  When locks appear on the same tier, they cannot be
     held by the same task. If that is a requirement,
     we must make a decision about the order they are
     obtained and put them on separate tiers.
  -  No other locks may be requested when a lock on the
     LAST tier is held.
  -  Columns give some indication of the most common
     combinations of locks held at one time.
  ------------------------------------------------------------
  Tier 0:                  KCMINIT
  ------------------------------------------------------------
  Tier 1:               HCPBDSGL(5) KCMSYNLK(4) KCMINFLX(4)
  ------------------------------------------------------------
  Tier 2:         MNDE_IS_AREA   MNDS_IS_AREA
  ------------------------------------------------------------
  Tier 3: LNKLKWRD
  ------------------------------------------------------------
  Tier 4:   LNKTQ_STAGECTL(1)  KCMLKWRD(4)
  ------------------------------------------------------------
  Tier 5: LDVLKWRD  LDVINUSE(2)   NODXLOCK(4)
  ------------------------------------------------------------
  Tier 6:   LNKTX_LOCK  LNKTX_WAITCTL  KCMSCKLK(4)
  ------------------------------------------------------------
  Tier 7: RDEVAPLK                         SCKLKWRD(4)
  ------------------------------------------------------------
  Tier 8: RDEVLOCK                         SCKILOCK
  ------------------------------------------------------------
  Tier 9:             LNKRX_LOCK
  ------------------------------------------------------------
  Tier LAST:                   MNDDE_CURRP_LOCK
  ------------------------------------------------------------
  Notes:
  (1) LNKTQ_STAGECTL TS lock may be obtained while holding
      a lower lock (e.g. LDVLKWRD) as long as the request
      is conditional (That is, the requester does not spin
      waiting for the lock to clear).
  (2) LDVINUSE TS lock is set while a device is busy
      with a data transfer function.  LDVLKWRD may be
      obtained before or after obtaining LDVINUSE.
      Note: Do NOT use a typical TS spin lock to
      obtain LDVINUSE.  It may be held for a relatively
      long period of time and a spin loop may interfere
      with the active task.
      Note: To use a link device, TS LDVINUSE and give up
      if TS fails. DO NOT retry without giving up control
      of the processor and any resources that might be
      needed by the currently active link device.
  (3) KCMXX_CTL TS lock is not shown in this hierarchy,
      because it is always obtained conditionally.
  (4) HCPCONSL is not allowed on a path where lock is held.
      An HCPCONSL call to HCPERM uses HCPSOCK SEND_REQUEST
      when there is a SCIF definition to a user on another
      SSI member system. This has deadlock potential if the
      lock is held. Use a deferred call to HCPKCBNM to issue
      the message.
  (5) ISFC Global Lock (HCPBDSGL) is obtained and released
      by entry point HCPFCASA.  This is significant because
      the SSI Manager calls this entry point holding SSI
      Manager locks.  At this time, we know that the caller
      holds the PLMCEVLK.  This means ISFC should not hold
      the Global Lock while calling an SSI Manager routine
      that would obtain PLMCEVLK.
 
 
  KCMBK Control Block Content Top of page
 

 KCMBK DSECT Top of page
Hex Dec Type/Val Lng Label (dup) Comments ---- ---- --------- ---- -------------- -------- 0000 0 Structure KCMBK Kernel communication management block 0000 0 Dbl-Word 8 KCMLKWRD (3) Kernel Communications Lock In addition to protecting the KCMBK, the KCMLKWRD protects the Node Table chain. - Obtain KCMLKWRD and ISFC Global lock EXCLUSIVE to add or remove a node. - Obtain KCMLKWRD or ISFC Global lock SHARED to scan the table. Serialized by the ISFC Global lock OR KCMLKWRD to use. Serialized by the ISFC Global lock AND KCMLKWRD to change. 0018 24 Address 4 KCMNODHD Table of NODBKs Serialized by the KCMLKWRD 001C 28 Bitstring 1 KCMFL General KCMBK flags .1.. .... KCMFLVJH X'40' KCMFLVJH Hold VMPLEX=JOINED messages ..1. .... KCMFLVJR X'20' KCMFLVJR Reject VMPLEX=JOINED messages 1... .... KCMTRLLR X'80' KCMTRLLR Link load sampling requested .1.. .... KCMTRLLA X'40' KCMTRLLA Link load sampling active 001D 29 Bitstring 1 KCMTR Link load sampling rate KCMXX_CTL is a TS lock, used to protect the fields related to an emergency storage release call to HCPKCLFS. Only one instance of HCPKCLFS may be activate at a time. KCMXX_CTL protects KCMXXFL, KCMXXLWK, and KCMXXMBH. 001E 30 Bitstring 1 KCMXX_CTL TS Lock. HCPKCLFS/HCPKCLXR active 001F 31 Bitstring 1 KCMXXFL Storage release flags 1... .... KCMXXFLS X'80' KCMXXFLS Storage was released Socket Services Area 0020 32 Signed 4 KCMSCKTO Socket time out value 0024 36 Bitstring 4 * Reserved Lock for the HCPHSHSK (Socket Hash table) and KCMSARRY (socket array). Notes : LKWRDSIZ == 3 doublewords. 0028 40 Dbl-Word 8 KCMSCKLK (3) Socket Hash Table and socket array lock. Must be held Exclusive for add and delete Shared for look up Serialized by the KCMSCKLK. 0040 64 Signed 4 KCMSCKSA System Assigned Socket Addr Field Serialized by the KCMSCKLK 0044 68 Address 4 KCMSCKBK PTR to first socket block 0048 72 Address 4 KCMSCFDF PTR to chain of deferred SCFBKs for offline devices. 004C 76 Signed 4 KCMLTMSK Mask of late responders Serialized by the KCMLKWRD 0050 80 Dbl-Word 8 KCMINFLX (3) Influx lock for VMPLEX=JOINED 0068 104 Address 4 KCMSARRY Socket array anchor 006C 108 Signed 4 KCMARENT Maximum bit number in bit map for socket array 0070 112 Address 4 KCMSBTMP Pointer to socket array bitmap 0074 116 Signed 4 KCMSCKTS Highest # of concurrent sockets KCMSCKTS KCMARSSI 1000 KCMARSSI # of entries in the socket array for SSI KCMSCKTS KCMARNSS 512 KCMARNSS # of entries in the socket array for non-SSI Node Synchronization Services Area 0078 120 Dbl-Word 8 KCMSYNLK (3) Node sync control lock 0090 144 Dbl-Word 8 KCMSYNVL Most recent node check value 0098 152 Dbl-Word 8 KCMSYNTO Node Sync Timeout value 00A0 160 Signed 4 KCMSYMSK Known VMPLEX nodes mask 00A4 164 Signed 4 KCMSYRSP Responding Nodes Mask Time Synchronization Services Area 00A8 168 Dbl-Word 8 KCMSYTTM Time Sync timestamp General Sync Services Area 00B0 176 Dbl-Word 8 * (0) The length of the KCMSYNMS field for DATAMAP is 56 00B0 176 Bitstring 64 KCMSYNMS ISFC Sync Message Structure 00F0 240 Address 4 KCMCSSID Pointer to *SYNC SCKBK Miscellaneous Serialized by the KCMLKWRD 00F4 244 Address 4 KCMSCFBK PTR to chain of SCFBKs from SYSTEM CONFIG. Serialized by the KCMSYNLK 00F8 248 Bitstring 1 KCMSFL Sync services flag PROTECTED by KCMSYNLK 1... .... KCMSFLLK X'80' KCMSFLLK Sends held up for node sync cycle (KCMSYNLK held exclusive) .1.. .... KCMSFLSP X'40' KCMSFLSP HCPPLMSP called. 00F9 249 Bitstring 3 * Reserved for future use Serialized by the KCMSCKLK 00FC 252 Signed 4 KCMSCKNM Socket number field for SCKNUM Serialized by the KCMLKWRD 0100 256 Signed 4 KCMMYMSK VMPLEX mask value for local node 0104 260 Signed 4 KCMMBSSZ Managed buffer set size Serialized by the KCMLKWRD 0108 264 Character 8 KCMMYNOD Node ID for my node 0110 272 Signed 4 KCMTRACE KCMBK Trace Table Token 0114 276 Character 4 KCMIPLRS Node sync responders' IPL Mask 0118 280 Dbl-Word 8 KCMSYNHI Highest node sync completion time 0120 288 Character 8 KCMLNKTO Link device timeout value The length of SSILIMIT for DATAMAP is 32 0128 296 Dbl-Word 8 KCMXIPLC (32) SSI member instance memory 0228 552 Dbl-Word 8 KCMLWKBK (0) Available LWKBK management 0228 552 Signed 2 KCMLWKSQ Available LWKBK seqno 022A 554 Signed 2 KCMLWKCT Available LWKBK count 022C 556 Address 4 KCMLWKPT Available LWKBK queue 0230 560 Signed 4 KCMLNKCT Count of LNKBKs 0234 564 Character 8 KCMSAMPL Link load sampling rate 023C 572 Signed 4 KCMBADSQ HCPKCWPI ignored bad SEQNOs 0240 576 Dbl-Word 8 KCMSYNLR Late response node sync value 0248 584 Address 4 KCMXXLWK Partially-released LWKBK chain 024C 588 Address 4 KCMXXMBH Partially-released MBHBK chain 0250 592 Dbl-Word 8 KCMINIT (3) ISFC Initialization lock 0268 616 Dbl-Word 8 * (3) Reserved Equates and Constants 000000DB KCMDC219 219 Direct connection changes 00000280 KCMEND * End of Socket control block 00000280 KCMBKLN *-KCMBK Length of KCMBK in bytes 00000050 KCMBKSZ (*-KCMBK+7)/8 Size of KCMBK in doublewords
 
 
  KCMBK Storage Layout Top of page
 
 
*** KCMBK - Kernel communication management block
*
*     +-------------------------------------------------------+
*   0 |                                                       |
*     =                       KCMLKWRD                        =
*     |                                                       |
*     +---------------------------+------+------+------+------+
*  18 |         KCMNODHD          |KCMFL |KCMTR |(01E) |:XXFL |
*     +---------------------------+------+------+------+------+
*  20 |         KCMSCKTO          |///////////////////////////|
*     +---------------------------+---------------------------+
*  28 |                                                       |
*     =                       KCMSCKLK                        =
*     |                                                       |
*     +---------------------------+---------------------------+
*  40 |         KCMSCKSA          |         KCMSCKBK          |
*     +---------------------------+---------------------------+
*  48 |         KCMSCFDF          |         KCMLTMSK          |
*     +---------------------------+---------------------------+
*  50 |                                                       |
*     =                       KCMINFLX                        =
*     |                                                       |
*     +---------------------------+---------------------------+
*  68 |         KCMSARRY          |         KCMARENT          |
*     +---------------------------+---------------------------+
*  70 |         KCMSBTMP          |         KCMSCKTS          |
*     +---------------------------+---------------------------+
*  78 |                                                       |
*     =                       KCMSYNLK                        =
*     |                                                       |
*     +-------------------------------------------------------+
*  90 |                       KCMSYNVL                        |
*     +-------------------------------------------------------+
*  98 |                       KCMSYNTO                        |
*     +---------------------------+---------------------------+
*  A0 |         KCMSYMSK          |         KCMSYRSP          |
*     +---------------------------+---------------------------+
*  A8 |                       KCMSYTTM                        |
*     +-------------------------------------------------------+
*  B0 |                                                       |
*     =                       KCMSYNMS                        =
*     |                                                       |
*     +---------------------------+---------------------------+
*  F0 |         KCMCSSID          |         KCMSCFBK          |
*     +------+--------------------+---------------------------+
*  F8 |KCMSFL|////////////////////|         KCMSCKNM          |
*     +------+--------------------+---------------------------+
* 100 |         KCMMYMSK          |         KCMMBSSZ          |
*     +---------------------------+---------------------------+
* 108 |                       KCMMYNOD                        |
*     +---------------------------+---------------------------+
* 110 |         KCMTRACE          |         KCMIPLRS          |
*     +---------------------------+---------------------------+
* 118 |                       KCMSYNHI                        |
*     +-------------------------------------------------------+
* 120 |                       KCMLNKTO                        |
*     +-------------------------------------------------------+
* 128 |                                                       |
*     =                       KCMXIPLC                        =
*     |                                                       |
*     +-------------+-------------+---------------------------+
* 228 |  KCMLWKSQ   |  KCMLWKCT   |         KCMLWKPT          |
*     +-------------+-------------+---------------------------+
* 230 |         KCMLNKCT          |        KCMSAMPL-          |
*     +---------------------------+---------------------------+
* 238 |          -(234)           |         KCMBADSQ          |
*     +---------------------------+---------------------------+
* 240 |                       KCMSYNLR                        |
*     +---------------------------+---------------------------+
* 248 |         KCMXXLWK          |         KCMXXMBH          |
*     +---------------------------+---------------------------+
* 250 |                                                       |
*     =                       KCMINIT                         =
*     |                                                       |
*     +-------------------------------------------------------+
* 268 |///////////////////////////////////////////////////////|
*     =///////////////////////////////////////////////////////=
*     |///////////////////////////////////////////////////////|
*     +-------------------------------------------------------+
* 280
*
*** KCMBK - Kernel communication management block
 
 
  KCMBK Cross Reference Top of page
 
 
Symbol         Dspl Value
-------------- ---- -----
KCMARENT       006C
KCMARNSS       0074 KCMSCKTS
KCMARSSI       0074 KCMSCKTS
KCMBADSQ       023C
KCMBKLN        0268 00000280
KCMBKSZ        0268 00000050
KCMCSSID       00F0
KCMDC219       0268 000000DB
KCMEND         0268 00000280
KCMFL          001C
KCMFLVJH       001C 40
KCMFLVJR       001C 20
KCMINFLX       0050
KCMINIT        0250
KCMIPLRS       0114
KCMLKWRD       0000
KCMLNKCT       0230
KCMLNKTO       0120
KCMLTMSK       004C
KCMLWKBK       0228
KCMLWKCT       022A
KCMLWKPT       022C
KCMLWKSQ       0228
KCMMBSSZ       0104
KCMMYMSK       0100
KCMMYNOD       0108
KCMNODHD       0018
KCMSAMPL       0234
KCMSARRY       0068
KCMSBTMP       0070
KCMSCFBK       00F4
KCMSCFDF       0048
KCMSCKBK       0044
KCMSCKLK       0028
KCMSCKNM       00FC
KCMSCKSA       0040
KCMSCKTO       0020
KCMSCKTS       0074
KCMSFL         00F8
KCMSFLLK       00F8 80
KCMSFLSP       00F8 40
KCMSYMSK       00A0
KCMSYNHI       0118
KCMSYNLK       0078
KCMSYNLR       0240
KCMSYNMS       00B0
KCMSYNTO       0098
KCMSYNVL       0090
KCMSYRSP       00A4
KCMSYTTM       00A8
KCMTR          001D
KCMTRACE       0110
KCMTRLLA       001C 40
KCMTRLLR       001C 80
KCMXIPLC       0128
KCMXX_CTL      001E
KCMXXFL        001F
KCMXXFLS       001F 80
KCMXXLWK       0248
KCMXXMBH       024C
 
This information is based on z/VM 6.4.0 Last updated on 24 Aug 2016 at 09:25:57 EDT.
Copyright IBM Corporation, 1990, 2016