| 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 | KCMAAT01_TOD |
* +-------------+-------------+------+------+------+------+
* 270 |:AAT01_COUNT |:AAT01_IPPAT>|(274) |(275) |(276) |(277) |
* +-------------+-------------+------+------+------+------+
* 278 | KCMAAT01_EXTRA |
* | |
* +-------------------------------------------------------+
* 288 |///////////////////////////////////////////////////////|
* =///////////////////////////////////////////////////////=
* |///////////////////////////////////////////////////////|
* +-------------------------------------------------------+
* 2A0
*
*** KCMBK - Kernel communication management block
|
| KCMBK Cross Reference | Top of page |
Copyright IBM Corporation, 1990, 2024