|
Hex Dec Type/Val Lng Label (dup) Comments
---- ---- --------- ---- -------------- --------
0000 0 Structure SRXBK System Resource Management block extensions
0000 0 Signed 4 SRXDLSCN Dispatch list scan header. This
is the point at which HCPSTK's
LINKDS subroutine is to begin
scanning the dispatch list for an
insertion point whenever adding a
user
0004 4 Address 4 SRXDLADD Pointer to the last VMDBK added
to the D-list ahead of ATOD. Used
to reduce scans in the list.
Timing Parameters
NOTES : The assembler construct 'FL8S12' is used to
generate a fixed-point number which represents a
time value (in microseconds) in TOD clock format
or CPU timer format. 'FL8S12E6' is used when
specifying a time value in seconds (rather than
microseconds).
0008 8 Signed 8 SRXHIDSP Dispatching priority of the
highest priority user on the
dispatch list at the time of the
last major reshuffle (HCPDSBRV)
less an adjustment interval to
allow for continuing transactions
returning to the dispatch list.
The highest priority user has the
lowest value of VMDDPRTY. This
field is the basis for computing
field DSVPRIOR in the PLDV.
DSVPRIOR = VMDDPRTY - SRXHIDSP.
(at least 32 bits of the result).
0010 16 Signed 8 SRXATOD Artificial TOD. This TOD only
advances at the rate the system
is running user work.
0018 24 Signed 4 SRXTOTLS (0) An equate used as an index base
to reference one of the next two
fields, srmreldl and srmabsdl.
Code depends on these two fields
being fullwords and following IN
THE GIVEN ORDER.
0018 24 Signed 4 SRXRELDL The sum of the relative shares of
all RELATIVE share holders
(excluding dedicated VMDBKs)
currently in the dispatch list.
This field is protected by the
scheduler lock.
001C 28 Signed 4 SRXABSDL The sum of the absolute shares of
all VMDBKs (excluding dedicated
VMDBKs) currently in the dispatch
list. This field is protected by
the scheduler lock.
0020 32 Signed 4 SRXTOTDE (0) An equate used as an index base
to reference one of the next two
fields, srmrelde and srmabsde.
Code depends on these two fields
being fullwords and following in
the given order.
0020 32 Signed 4 SRXRELDE The sum of the relative shares of
all relative share holders
currently in the eligible and
dispatch list. This field is
protected by the scheduler lock.
0024 36 Signed 4 SRXABSDE The sum of the absolute shares of
all VMDBKs currently in the
eligible and dispatch list. This
field is protected by the
scheduler lock.
0028 40 Signed 2 SRXNCPUA The number of CPUs available to
schedule time on for
non-dedicated users. This field
is protected by the scheduler
lock.
002A 42 Signed 2 SRXPKCNT The number of parked CPUs.
002C 44 Address 4 SRXLLIST Anchor for the limit-list.
Contains address of 1st VMDBK in
list, or zero if list is empty.
VMDBKs are forward and backward
chained via VMDLFPNT & VMDLBPNT.
0030 48 Dbl-Word 8 SRXATODD A timestamp (TOD). The deadline
for current ATOD-interval to end.
Each CPU will copy this into its
PFXATODD. But PFXATODD will often
be an iteration behind SRXATODD.
0038 56 Dbl-Word 8 SRXCHKIN A timestamp (TOD). Time when the
first-checker CPU last checked in
(to start current ATOD-interval).
Equals PFXCHKIN of first-checker.
0040 64 Dbl-Word 8 SRXCHKTW A timestamp (TOD). Time when the
tracked-wait masks (SRXASKT1 and
SRXASKT2) should next be checked.
(Set to something like TOD+10ms.)
0048 72 Signed 8 SRXATOD2 Artificial TOD2. This TOD
advances at the same rate as the
TOD clock. It is updated each
time SRXATOD is adjusted. This
field is used to determine when a
VMDBK should be dropped from the
limit list.
0050 80 Dbl-Word 8 SRXASKTW Mask has a bit for each logical
CPU. Bit is on if the CPU is
currently in "tracked-wait" mode.
0058 88 Dbl-Word 8 SRXASKT1 Mask has a bit for each logical
CPU. Bit is on if CPU performed
an ATOD-check-in since mask was
last reset (as timed by
SRMASKTM).
0060 96 Dbl-Word 8 SRXASKT2 Mask has a bit for each logical
CPU. Bit is on if CPU performed
an ATOD-check-in during previous
interval (as timed by SRMASKTM).
0068 104 Signed 4 SRXTRKCT Count of tracked-wait-mode CPUs.
006C 108 Address 4 SRXLODSP Pointer to the VMDBK just above
ATOD in the dispatch list. It is
advanced only when ATOD is up-
dated, and so may not always
point to quite the last VMDBK.
PURPOSE: Save scanning overhead
when locating VMDBKs which have
aged out of the SRXCTHRU bunch.
SRXRTHRU and SRXCTHRU are two tables, used in normalizing
users' VMDRTHRUs. (VMDRTHRU is the user's "required
throughput" i.e., his SHARE after it has been adjusted to
compensate him for any delay in the eligible list.)
0070 112 Signed 4 SRXRTHRU (0) Start of array (table) of sums of
VMDRTHRU values for all VMDBKs in
the dispatch list.
0070 112 Signed 4 SRXRTHRN Total VMDRTHRU of VMDBKs in the
dispatch list which are not cur-
rently hitting their max-SHAREs.
0074 116 Signed 4 SRXRTHRL Total VMDRTHRU of VMDBKs in the
dispatch list which are current-
ly hitting their max-SHAREs.
(LIMITed and hitting the limit.)
0078 120 Signed 4 SRXRTHRZ (0) End of array (table).
Notes : SRXRTHRN and SRXRTHRL must have the same
offsets within the SRXRTHRU array as SRXCTHRN
and SRXCTHRL have in the SRXCTHRU array.
0078 120 Signed 4 SRXCTHRU (0) Start of array (table) of sums of
VMDRTHRU values of compute- bound
VMDBKs (literally, VMDBKs below
ATOD) in the dispatch list.
0078 120 Signed 4 SRXCTHRN Total VMDRTHRU of compute-bound
VMDBKs not hitting max-SHARE.
007C 124 Signed 4 SRXCTHRL Total VMDRTHRU of compute-bound
VMDBKs hitting max-SHARE.
0080 128 Signed 4 SRXCTHRZ (0) End of array (table).
General Data Fields
0080 128 Signed 4 SRXMXSHR Largest SHARE of system that can
be delivered to a single VMDBK.
It is the reciprocal of SRXNCPUA.
(E.g., 0.25 on a 4-way system.)
0084 132 Signed 4 SRXLLCNT Count of adds to the limit-list.
This count is only approximate,
it does not include adds result-
from virtual-MP priority drop.
0088 136 Signed 4 SRXCONLL Count of users actually ON the
Limit List. This count is
serialized by the scheduler lock.
008C 140 Address 4 SRXDVLST Anchor into the linked list of
PLDV's linked by DSVNXTDV.
The following fields are bit masks for which each real
processor has a corresponding unique bit.
0090 144 Dbl-Word 8 SRXLCPUA Mask containing the logical CPU
ids (PFXLCPUA) of CPUs which are
online, non-dedicated, and
unparked. (The difference of
SRXNCPUA and SRXPKCNT should tell
how many bits are on in
SRXLCPUA.) See also SYSLCPUA,
which is similar, but shows
dedicated, parked, and also
offline CPUs whose prefix pages
have not been freed.
0098 152 Dbl-Word 8 SRXPKMSK Mask containing the logical CPU
ids (PFXLCPUA) of CPUs which are
parked. (The counter SRXPKCNT
indicates how many bits are on in
SRXPKMSK.) See also SRMPKMSK,
which is a mask for parked CPUs
of all types.
00A0 160 Address 4 SRXTRQWT Points to TRQBK used to bring us
out of wait state when it is time
to dequeue VMDBKs from
limit-list.
00A4 164 Bitstring 1 SRXFLAGS General flags
1... .... SRXSYSMP X'80' SRXSYSMP This CPU type can
dispatch SYSTEMMP work (CP + IFL)
00A5 165 Bitstring 1 SRXEXUSE SRM EXCESSUSE field
00000010 SRXEXHGH 16 SRXEXHGH -Indicates the system
should be aggressive in using
unentitled CPU capacity.
00000008 SRXEXMED 8 SRXEXMED -Indicates the system
should be moderately aggressive
in using unentitled CPU capacity.
00000001 SRXEXLOW 1 SRXEXLOW -Indicates the system
should not be aggressive in using
unentitled CPU capacity.
00A6 166 Bitstring 1 SRXWRKCI Workload confidence interval -
integer between 50 and 99,
specifying the percentage
confidence level
00A7 167 Bitstring 1 SRXTVCNF T/V ratio confidence percentage -
integer between 50 and 99,
specifying the confidence level
of the T/V ratio ceiling
projection.
00A8 168 Signed 4 SRXCPPAD SRM CPUPAD value, a scaled number
where X'00010000' represents one
CPU
00AC 172 Signed 2 SRXPMAX Maximum number of CPUS that can
be parked in an interval
00AE 174 Bitstring 2 * Reserved for IBM use
00B0 176 Address 4 SRXLASDV HL address of the last DSVBK to
which a VMDBK was assigned during
the round-robin phase of
rebalance which is used when all
capacity of a given type is
depleted. Reset at the start of
each rebalance
00B4 180 Signed 4 SRXENTVM This is a scaled number between
X'00000001' and X'00010000'
representing the portion of a
real CPU to which vertical medium
CPUs are entitled. Serialized by
Vary Proc lock.
00B8 184 Signed 4 SRXNOTVH Capacity assigned to all CPUs
other than vertical high CPUs.
00BC 188 Bitstring 4 * Reserved for IBM use.
00C0 192 Dbl-Word 8 SRXNICPF (10) Circular array of Next Interval
Capacity Factors. RCCTOPDX is to
be used as an index to find the
most recent element. Each element
is a factor to be used to adjust
the remaining capacity during the
next interval. This value is
stored in floating point format.
0110 272 Dbl-Word 8 SRXNIPAD (10) Circular array of Next Interval
Tolerance Padding values.
RCCTOPDX is to be used as an
index to find the most recent
element. Stored in floating point
format.
0160 352 Signed 4 SRXLIUSG (10) Circular array of Total CPU usage
of this type during the last
interval. RCCTOPDX is to be used
as an index to find the most
recent element. This value is
scaled such that x'10000' equals
one full CPU.
0188 392 Signed 4 SRXVMDCT (10) Circular array of counts of the
number of VMDBKs on the global
cyclic list with this dispatch
CPU type when gathering informa-
tion to be used for dispatch
vector rebalance. RCCTOPDX is to
be used as an index to find the
most recent element.
01B0 432 Signed 4 SRXACGUS (10) Circular array of the average CPU
usage of the VMDBKs of this type
in the last interval. RCCTOPDX is
to be used as an index to find
the most recent element. This
value is scaled such that
x'10000' equals one full CPU.
0000003B SRXSIZE (*-SRXBK+7)/8 size in double
words
000001D8 SRXBSIZE SRXSIZE*8 size in bytes
| |