|
Programming Interface Information:
This information is NOT intended to be used as Programming Interfaces of z/VM. |
SRXBK
Control Block Contents
SRXBK DSECT
Cross Reference (Contains links to field and bit definitions)
SRXBK Prolog
NAME : HCPSRXBK
DESCRIPTION: System Resource Management block extensions
DSECT : SRXBK
FUNCTION : HCPSRXBK contains original SRMBK fields which are
duplicated for Mixed-Engine partitions. These
fields are used by the System Resource Manager
(Scheduler) in the maintainance of user lists and
calculation of various scheduling parameters.
LOCATED BY : SRMXTBL table of SRXBK pointers by processor
type
CREATED BY : HCPIST during system initialization
DELETED BY : Never deleted
REFERENCES : None
SERIALIZED : Scheduler lock (SRMSLOCK)
NOTES : An SRXBK exists for
each processor type that is valid in a Mixed-Engines
configuration. Prior to Mixed-Engines support, these
fields were global scheduler fields. Now they must
be viewed as valid for a particular processor type
only. For example, when processing the SRXBK for
type zAAP, SRXMXSHR is the largest SHARE of system
that can be delivered to a single VMDBK of type
zAAP.
SRXBK Control Block Content
SRXBK DSECT
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 * Reserved for future IBM use
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 with each CPU's user
time and each CPU's wait time.
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 field is a 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 and non-dedicated. (The
counter SRXNCPUA should tell how
many bits are on in SRXLCPUA.)
See also SYSLCPUA, which is
similar, but shows dedicated CPUs
and also offline CPUs whose
prefix pages have not been freed.
0098 152 Address 4 SRXTRQWT Points to TRQBK used to bring us
out of wait state when it is time
to dequeue VMDBKs from
limit-list.
009C 156 Signed 4 * Reserved for IBM use
00000014 SRXSIZE (*-SRXBK+7)/8 size in double
words
000000A0 SRXBSIZE SRXSIZE*8 size in bytes
SRXBK Storage Layout
*** SRXBK - System Resource Management block extensions
*
* +---------------------------+---------------------------+
* 0 | SRXDLSCN | SRXDLADD |
* +---------------------------+---------------------------+
* 8 | SRXHIDSP |
* +-------------------------------------------------------+
* 10 | SRXATOD |
* +---------------------------+---------------------------+
* 18 | SRXRELDL | SRXABSDL |
* +---------------------------+---------------------------+
* 20 | SRXRELDE | SRXABSDE |
* +-------------+-------------+---------------------------+
* 28 | SRXNCPUA |/////////////| SRXLLIST |
* +-------------+-------------+---------------------------+
* 30 | SRXATODD |
* +-------------------------------------------------------+
* 38 | SRXCHKIN |
* +-------------------------------------------------------+
* 40 | SRXCHKTW |
* +-------------------------------------------------------+
* 48 | SRXATOD2 |
* +-------------------------------------------------------+
* 50 | SRXASKTW |
* +-------------------------------------------------------+
* 58 | SRXASKT1 |
* +-------------------------------------------------------+
* 60 | SRXASKT2 |
* +---------------------------+---------------------------+
* 68 | SRXTRKCT | SRXLODSP |
* +---------------------------+---------------------------+
* 70 | SRXRTHRN | SRXRTHRL |
* +---------------------------+---------------------------+
* 78 | SRXCTHRN | SRXCTHRL |
* +---------------------------+---------------------------+
* 80 | SRXMXSHR | SRXLLCNT |
* +---------------------------+---------------------------+
* 88 | SRXCONLL | SRXDVLST |
* +---------------------------+---------------------------+
* 90 | SRXLCPUA |
* +---------------------------+---------------------------+
* 98 | SRXTRQWT |///////////////////////////|
* +---------------------------+---------------------------+
* A0
*
*** SRXBK - System Resource Management block extensions
SRXBK Cross Reference
Symbol Dspl Value -------------- ---- ----- SRXABSDE 0024 SRXABSDL 001C SRXASKTW 0050 SRXASKT1 0058 SRXASKT2 0060 SRXATOD 0010 SRXATODD 0030 SRXATOD2 0048 SRXBSIZE 009C 000000A0 SRXCHKIN 0038 SRXCHKTW 0040 SRXCONLL 0088 SRXCTHRL 007C SRXCTHRN 0078 SRXCTHRU 0078 SRXCTHRZ 0080 SRXDLADD 0004 SRXDLSCN 0000 SRXDVLST 008C SRXHIDSP 0008 SRXLCPUA 0090 SRXLLCNT 0084 SRXLLIST 002C SRXLODSP 006C SRXMXSHR 0080 SRXNCPUA 0028 SRXRELDE 0020 SRXRELDL 0018 SRXRTHRL 0074 SRXRTHRN 0070 SRXRTHRU 0070 SRXRTHRZ 0078 SRXSIZE 009C 00000014 SRXTOTDE 0020 SRXTOTLS 0018 SRXTRKCT 0068 SRXTRQWT 0098
Copyright IBM Corporation, 1990, 2007