|
Programming Interface Information:
This information is NOT intended to be used as Programming Interfaces of z/VM. |
RCCBK
Control Block Contents
RCCBK DSECT
Cross Reference (Contains links to field and bit definitions)
RCCBK Prolog
NAME : HCPRCCBK
DESCRIPTION: RCPU DATA AREA MAPPING
DSECT : RCCBK
FUNCTION :
This control block maps the RCPU data area and
defines constants used by the RCPU subsystem.
OCATED IN -
HCPRCCCM - RPCU common data area
CREATED BY :
System initialization
DELETED BY :
System termination
SERIALIZED :
RELOCATION CONSIDERATIONS : None
RCCBK Control Block Content
RCCBK DSECT
Hex Dec Type/Val Lng Label (dup) Comments
---- ---- --------- ---- -------------- --------
0000 0 Structure RCCBK RCPU DATA AREA MAPPING
SAVBK management zappable constants and queues
0000 0 Dbl-Word 8 RCCURCQ SAVBK reclaim queue (unsorted)
0008 8 Address 4 RCCSRCQ SAVBK reclaim queue (sorted)
000C 12 Address 4 RCCSFQ SAVE frame queue
0010 16 Signed 4 RCCRCNUM Number of SAVBKs being reclaimed
0014 20 Signed 4 RCCSVNUM Number of SAVBKs allocated
0018 24 Dbl-Word 8 RCCSFQL (6) SAVE frame queue lock
0048 72 Signed 8 RCCICFAB Incomplete frame reclaim time
limit in seconds
0050 80 Signed 8 RCCLNINT HCPSAMFS sampling period, 10 sec.
0058 88 Signed 4 RCCNOINT Number of intervals to average
.... 1... RCCMXAVS 8 RCCMXAVS Scaling factor for
below &VX1NASG
005C 92 Signed 4 RCCMAXAV Maximum percentage of buffers
available
0060 96 Signed 4 RCCMINSV Minimum number of saveareas per
processor
0064 100 Address 1 RCCSTFLG Free storage availability flags
1... .... RCCSAVL X'80' RCCSAVL Free storage
available for SAVBKs
0065 101 Bitstring 1 * (3) Reserved for future IBM use
MP Defer Data Area
Checkpoint determination intervals
0068 104 Signed 8 RCCMPDLY 1/10 second, until adjusted by
HCPISR to be a function of the
minor timeslice.
0070 112 Dbl-Word 8 * Reserved for IBM use
0078 120 Address 1 RCCMPDAC MP Defer Active Test & Set flag
0079 121 Bitstring 3 * Reserved
"CP Loss of Control" deferred work queues
007C 124 Address 4 RCCMPCQ0 Work for which 0 or more MP
checkpoints have occurred
0080 128 Address 4 RCCMPCQ1 Work for which 1 or more MP
checkpoints have occurred
"Loss of Control" deferred work queues
0084 132 Address 4 RCCMPSQ0 Work for which 0 or more MP
checkpoints have occurred
0088 136 Address 4 RCCMPSQ1 Work for which 1 or more MP
checkpoints have occurred
RCCCPUAA: Array of CPU addresses for online processors
Function : Used to get the CPU address of a CPU with a
given PFXINDEX. The PFXINDEX divided by 2 is
the displacement of a CPU's entry in this
array. VMDHPLDV can also be used to find a
CPU's entry in this array due to the direct
relationship (VMDHDVSH) between VMDHPLDV and
PFXINDEX for a given CPU. Finally, since
VMDHPLDV is just the displacement of the
PLDV in the array of PLDVs (HCPDSVST), the
address of a PLDV can be used to index into
this array as well. The following are useful
relationships:
1) VMDHPLDV = addr(PLDV) - addr(HCPDSVST)
2) PFXINDEX = VMDHPLDV / 2**VMDHDVSH
3) RCCCPUAA index = PFXINDEX / 2
Serialized :
This array should be changed only when the
VARY lock is held or for the IPL processor
at initialization time.
No serialization needed to examine an entry.
When an entry in the array is being examined,
a value of x'FFFF' means the processor is no
longer available. Any value other than
x'FFFF' means either that the processor is
available or that the processor has been
varied off but the 2 minute wait interval
before its storage is released has not
expired. Do not assume that the processor
is available just because its entry in this
array is other than x'FFFF'.
008C 140 Signed 2 RCCCPUAA (64) CPU address array
STSI response data areas.
Function : A managed, in memory copy of STSI output.
The following STSI responses are maintained:
1.1.1 and 1.2.2.
For STSI 1.1.1 and 1.2.2, an additional pair
of data areas is maintained that contains
the most recent responses with non-transient
states indicated. See SSI1TRNS and HCPSSICC.
These are needed for Diagnose x'2E0'.
References to these data areas during CP
initialization must test the pointers to
ensure they are initialized (nonzero pointer)
before using the response areas.
HCPSSIBK maps the STSI responses.
Serialized :
These data areas are updated only during
system initialization while running on a
single processor, or later while running on
the SYSTEM VMDBK.
Each time the STSI responses are updated, a
new data area is allocated and the pointers
below are updated. The prior response area
is released by an MPDFR call to HCPSSIRL to
allow existing references to continue to use
the old response areas until their next loss
of control.
No serialization is provided to consumers of
these data areas that allows access over a
loss of control. The STSI response area may
have been released during the loss of control.
No form of serialization can provide a
self-consistency guarantee for the pair of
responses for STSI 1.1.1 and 1.2.2 since
changes may occur between the STSI instruction
invocations that affect values reported in
both STSI responses. For example, changes to
capability values reported by STSI 1.2.2 may
be explained by corresponding changes to CCR
and CAI values reported by STSI 1.1.1.
010C 268 Address 4 RCC111 Most recent STSI 1.1.1 response.
0110 272 Address 4 RCC122 Most recent STSI 1.2.2 response.
0114 276 Address 4 RCC111NT Non-transient STSI 1.1.1 resp.
0118 280 Address 4 RCC122NT Non-transient STSI 1.2.2 resp.
RCCEMSxx: EMSBK Cleanup Counts and Type flags
Function : Track statistics for cleanup of EMSBKs found
on the PFXPG of a processor during VARY
processing. The individual counts are for
different points in the processing of VARY
OFF PROC and VARY ON PROC. If the EMSBKs are
cleaned up after the HCPMPCFL processing,
then the EMSBKs may have been waiting to be
processed for 2 minutes or more. This should
be avoided because the result will be that
the tasks waiting for completion of HCPSGP's
processing will appear to hang while the
EMSBK is on the PFXEMSAN queue. Currently,
this is only the case for HCPSGPNC's callers
indicated by RCCEMSNF.RCCEMSNC being on.
There should be a count field and flag byte
for each caller of HCPSGPDR.
Serialized :
All RCCEMSxx fields are serialized by
HCPRCCVA - VARY Processor Lock.
011C 284 Signed 4 RCCEMSFL EMSBK cleanups done by hcpmpcFL.
0120 288 Signed 4 RCCEMSOF EMSBK cleanups done by hcpmpsOF.
0124 292 Signed 4 RCCEMSON EMSBK cleanups done by hcpmpsON.
0128 296 Signed 4 RCCEMSFS (0) EMSBK cleanup flags.
0128 296 Bitstring 1 RCCEMSLF EMSBK type flags for RCCEMSFL.
1... .... RCCEMSAR X'80' RCCEMSAR Alt Proc Recovery
type EMSBKs.
.1.. .... RCCEMSSM X'40' RCCEMSSM Switch Master type
EMSBKs.
..1. .... RCCEMSLC X'20' RCCEMSLC Load Control type
EMSBKs.
...1 .... RCCEMSNC X'10' RCCEMSNC New CPU type
EMSBKs.
0129 297 Bitstring 1 RCCEMSFF EMSBK type flags for RCCEMSOF.
1... .... RCCEMSAR X'80' RCCEMSAR Alt Proc Recovery
type EMSBKs.
.1.. .... RCCEMSSM X'40' RCCEMSSM Switch Master type
EMSBKs.
..1. .... RCCEMSLC X'20' RCCEMSLC Load Control type
EMSBKs.
...1 .... RCCEMSNC X'10' RCCEMSNC New CPU type
EMSBKs.
012A 298 Bitstring 1 RCCEMSNF EMSBK type flags for RCCEMSON.
1... .... RCCEMSAR X'80' RCCEMSAR Alt Proc Recovery
type EMSBKs.
.1.. .... RCCEMSSM X'40' RCCEMSSM Switch Master type
EMSBKs.
..1. .... RCCEMSLC X'20' RCCEMSLC Load Control type
EMSBKs.
...1 .... RCCEMSNC X'10' RCCEMSNC New CPU type
EMSBKs.
012B 299 Bitstring 1 * Reserved for IBM use.
RCCLFTIM: Array of CPU-Measurement Facility "counter
lifetime" values.
Function : Used to identify separate "lifetimes" for
CPU-Measurement Facility counters. This
array is indexed by CPU address shifted 2
bits left (multiplied by 4). These are
monotonically incrementing values that
indicate when a new "lifetime" begins.
Cumulative counter values from two different
"lifetimes" should not be used to compute
delta values. New "lifetimes" logically begin
any time the counters are reset to zero.
For our purposes, we will define a new
"lifetime" to begin when we activate CPU-
Measurement Facility counters for a given
CPU. The consequence of this is that we will
start a new "lifetime" when monitor
collection of the counters is stopped and
restarted, even if the counters were not
reset to zeroes.
Serialized :
This array is serialized by processor local
serialization. Each CPU will only ever
update its own entry.
012C 300 Signed 4 RCCLFTIM (64) Counter lifetime array
CPU-Measurement Facility buffers
Function : Per CPU pointers to buffers containing the
most recent output to Query Counter
Information (QCTRI) and Query Sampling
Information (QSI). These pointers are
indexed by CPU address. A value of zero
indicates that this CPU has never issued a
QCTRI or QSI instruction. The first time
a CPU issues the instruction, it will
allocate the buffer and store it into this
array. All subsequent executions of the
instruction will reuse the buffer. These
buffers persist as debug information and are
never released, once allocated.
Serialized :
This array is serialized by processor local
serialization. Each CPU will only ever
update its own entry. Initially, when a
CPU's entry is zero, it will allocate a
buffer and store the address in its entry. On
subsequent uses, it will find a non-zero
value and reuse its buffer.
022C 556 Address 4 RCCQCTRI (64) QCTRI buffer array
032C 812 Address 4 RCCQSI (64) QSI buffer array
042C 1068 Signed 4 * Reserved for future IBM use.
STSI 15.1.x response data area & system topology fields
Function : To save System Topology (STSI 15.1.x) data
and counters related to how often the data
has been updated. A lock is defined as these
fields can only be updated when the lock is
held exclusive and can only be read/copied
when the lock is held shared.
System Topology data is saved in storage for
1st level CP systems. Periodically, CP polls
(via PTF FC 2) to determine if the system
topology has changed. If it has, STSI 15.1.x
is issued to update the System Topology data
in storage.
When monitor needs to cut a system topology
configuration record (D1R26) or an event
record (D5R14), the fields are copied while
the lock is held shared to ensure the values
are not being updated at the time. The lock
is released before the copied data is passed
to the monitor routine because monitor might
lose control while processing the data.
HCPSSIBK maps the STSI responses including
the first part of the STSI 15.1.x response.
Serialized :
The following data areas are serialized by
the RCCTOPLK lock. This lock needs to be
held as follows to ensure these fields are
kept in sync and apply to the same instance
of system topology (STSI 15.1.x) response:
EXCLUSIVE:
* Whenever any of the fields are changed.
* For STSI data updates, the lock must be
held from BEFORE the PTF FC 2 until after
the STSI 15.1.x is issued to ensure the
saved STSI data is the most current.
SHARED:
* Whenever 2 or more fields are read/copied
and need to be in sync with each other.
This lock is *NOT* to be held over a loss of
control.
0430 1072 Dbl-Word 8 RCCTOPLK (3) System Topology 15.1.x LoCKword
0448 1096 Bitstring 1 RCCTOPFG Flags for STSI 15.1.x information
1... .... RCCTOPSP X'80' RCCTOPSP Indicates whether
system topology facility is
supported. The rest of the system
topology fields are only valid
when this bit is ON.
0449 1097 Bitstring 1 RCCSTSIP STSI Parameters: Bits 0-4 =
Reserved, stored 0
.... .111 RCCMNEST X'07' Bits 5-7 = RCCMNEST (like
PCCMNEST) Value of selector-2 (x)
used in most recent STSI 15.1.x
ins that CP issued. If
PCCMNEST=0, RCCMNEST=2 and use
STSI 15.1.2
044A 1098 Bitstring 2 * Reserved for IBM use
044C 1100 Address 4 RCC151x Most recent STSI 15.1.x response.
This 31-bit address points to the
4K page holding the STSI 15.1.x
response.
0450 1104 Signed 4 RCCTOPPL Count of times system topology
was polled by CP via PTF FC 2.
0454 1108 Signed 4 RCCTOPCH Count of times system topology
was found changed and was updated
in storage (aka number of times
that PTF FC 2 returned CC=1)
RCCBK Storage Layout
*** RCCBK - RCPU DATA AREA MAPPING
*
* +-------------------------------------------------------+
* 0 | RCCURCQ |
* +---------------------------+---------------------------+
* 8 | RCCSRCQ | RCCSFQ |
* +---------------------------+---------------------------+
* 10 | RCCRCNUM | RCCSVNUM |
* +---------------------------+---------------------------+
* 18 | |
* = RCCSFQL =
* | |
* +-------------------------------------------------------+
* 48 | RCCICFAB |
* +-------------------------------------------------------+
* 50 | RCCLNINT |
* +---------------------------+---------------------------+
* 58 | RCCNOINT | RCCMAXAV |
* +---------------------------+------+--------------------+
* 60 | RCCMINSV |:STFLG|////////////////////|
* +---------------------------+------+--------------------+
* 68 | RCCMPDLY |
* +-------------------------------------------------------+
* 70 |///////////////////////////////////////////////////////|
* +------+--------------------+---------------------------+
* 78 |:MPDAC|////////////////////| RCCMPCQ0 |
* +------+--------------------+---------------------------+
* 80 | RCCMPCQ1 | RCCMPSQ0 |
* +---------------------------+---------------------------+
* 88 | RCCMPSQ1 | |
* +---------------------------+ |
* 90 | |
* = RCCCPUAA =
* | +---------------------------+
* 108 | | RCC111 |
* +---------------------------+---------------------------+
* 110 | RCC122 | RCC111NT |
* +---------------------------+---------------------------+
* 118 | RCC122NT | RCCEMSFL |
* +---------------------------+---------------------------+
* 120 | RCCEMSOF | RCCEMSON |
* +------+------+------+------+---------------------------+
* 128 |:EMSLF|:EMSFF|:EMSNF|//////| |
* +------+------+------+------+ |
* 130 | |
* = RCCLFTIM =
* | +---------------------------+
* | | |
* +---------------------------+ |
* 230 | |
* = RCCQCTRI =
* | +---------------------------+
* | | |
* +---------------------------+ |
* 330 | |
* = RCCQSI =
* | +---------------------------+
* 428 | |///////////////////////////|
* +---------------------------+---------------------------+
* 430 | |
* = RCCTOPLK =
* | |
* +------+------+-------------+---------------------------+
* 448 |:TOPFG|:STSIP|/////////////| RCC151X |
* +------+------+-------------+---------------------------+
* 450 | RCCTOPPL | RCCTOPCH |
* +---------------------------+---------------------------+
* 458
*
*** RCCBK - RCPU DATA AREA MAPPING
RCCBK Cross Reference
Symbol Dspl Value -------------- ---- ----- RCCCPUAA 008C RCCEMSAR 0128 80 RCCEMSAR 0129 80 RCCEMSAR 012A 80 RCCEMSFF 0129 RCCEMSFL 011C RCCEMSFS 0128 RCCEMSLC 0128 20 RCCEMSLC 0129 20 RCCEMSLC 012A 20 RCCEMSLF 0128 RCCEMSNC 0128 10 RCCEMSNC 0129 10 RCCEMSNC 012A 10 RCCEMSNF 012A RCCEMSOF 0120 RCCEMSON 0124 RCCEMSSM 0128 40 RCCEMSSM 0129 40 RCCEMSSM 012A 40 RCCICFAB 0048 RCCLFTIM 012C RCCLNINT 0050 RCCMAXAV 005C RCCMINSV 0060 RCCMNEST 0449 07 RCCMPCQ0 007C RCCMPCQ1 0080 RCCMPDAC 0078 RCCMPDLY 0068 RCCMPSQ0 0084 RCCMPSQ1 0088 RCCMXAVS 0058 08 RCCNOINT 0058 RCCQCTRI 022C RCCQSI 032C RCCRCNUM 0010 RCCSAVL 0064 80 RCCSFQ 000C RCCSFQL 0018 RCCSRCQ 0008 RCCSTFLG 0064 RCCSTSIP 0449 RCCSVNUM 0014 RCCTOPCH 0454 RCCTOPFG 0448 RCCTOPLK 0430 RCCTOPPL 0450 RCCTOPSP 0448 80 RCCURCQ 0000 RCC111 010C RCC111NT 0114 RCC122 0110 RCC122NT 0118 RCC151x 044C
Copyright IBM Corporation, 1990, 2011