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 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 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, 2009