KCMBK | Back to Index page |
Prolog Control Block Contents KCMBK DSECT Storage Layout Cross Reference (Contains links to field and bit definitions) |
|
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 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 KCMFLXMS 001C 10 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 |
Copyright IBM Corporation, 1990, 2022