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

KCMBK

Prolog  

Control Block Contents  
   KCMBK DSECT

Storage Layout  

Cross Reference (Contains links to field and bit definitions)  


KCMBK Prolog

 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    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.  In order to start
      a new device level function, the caller should
      TS LDVINUSE.  If TS fails, another device should be
      selected.  A device may be in use for a relatively
      long period of time (across multiple I/O functions),
      so DO NOT spin waiting for LDVINUSE.
  (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.

 

KCMBK Control Block Content


KCMBK DSECT

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

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

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 V6R2.0. Last updated on 21 Nov 2011 at 11:06:25 EDT.
Copyright IBM Corporation, 1990, 2011