|
Hex Dec Type/Val Lng Label (dup) Comments
---- ---- --------- ---- -------------- --------
0000 0 Structure SRMBK SYSTEM RESOURCE MANAGEMENT BLOCK
THIS CONTROL BLOCK CONTAINS POINTERS AND PARAMETERS
USED BY THE SYSTEM RESOURCE MANAGER (SCHEDULER)
IN THE MAINTENANCE OF USER LISTS AND CALCULATION
OF VARIOUS SCHEDULING PARAMETERS.
USER SCHEDULING LIST ANCHORS
USERS IN THE ELIGIBLE AND DORMANT LISTS ARE CHAINED
TO EACH OTHER. THE FOLLOWING ANCHORS POINT TO THE
FIRST USER ON THE CORRESPONDING LIST. IF THERE IS
NO USER IN THE LIST, THE POINTER HAS A VALUE OF ZERO.
THE USERS ARE DOUBLE-LINKED VIA VMDQFPNT/VMDQBPNT.
Start of x'000' cache line
0000 0 Signed 4 SRMELIST ELIGIBLE LIST ANCHOR
0004 4 Signed 4 SRMMLIST DORMANT LIST ANCHOR
The dispatch list is anchored for scheduling
purposes by the System VMDBK, which is the first
member of the dispatch list.
0008 8 Address 4 * Reserved for IBM use
000C 12 Address 4 SRME1ADD Last user added to E-list, by
0010 16 Address 4 SRME2ADD class. These fields are not
0014 20 Address 4 SRME3ADD valid when the E-list is empty,
and SRME2ADD, for example, may
not point to an E2 user. It did
once, but that user dropped from
the E-list so the pointer bumped
to the next VMDBK.
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. USE OF 'FL8S12E6' IS USED
WHEN SPECIFYING A TIME VALUE IN SECONDS (RATHER
THAN MICROSECONDS).
0018 24 Signed 8 SRMTSLIC TIME SLICE VALUE
0020 32 Signed 8 SRMTSHOT SHORT TIME SLICE FOR HOT-SHOT
DISPATCH FOR A TERMINAL USER
0028 40 Signed 8 SRMTIMIN SYSTEM SAMPLING INTERVAL
..1. 1... SRMTIMN 00004 SRMTIMIN,4 USE ONLY SECONDS
PART OF SRMTIMIN
0030 48 Signed 8 SRMRVLTM Time of last DSV re-shuffle or
rebalance DISPATCHER CONTROLS
COUNT OF USERS IN LISTS
00000038 SRMUSERC *
The following tables must follow SRMUSERC. SRMUSERC is
treated as the head of a two-dimensional array:
(E-list class)
0 1 2 3
-----------------
SRMCDISP | | | | |
-----------------
SRMCDLDG | | | | |
-----------------
SRMCELIG | | | | |
-----------------
SRMCELDG | | | | |
-----------------
The elements of SRMUSERC must appear in the same order
as the corresponding elements in the SRMSUSRC table.
This is due to the usage of these tables by HCPSTPGS.
See that entry point for details.
0038 56 Signed 2 SRMCDISP Count of VMDBKs in dispatch list
(Q0, Q1, Q2, Q3)
003A 58 Signed 2 SRMC1DSP Count of VMDBKs in Q1,Q2 and Q3
003C 60 Signed 2 SRMC2DSP Count of VMDBKs in Q2 and Q3
003E 62 Signed 2 SRMC3DSP Count of VMDBKs in Q3
0040 64 Signed 2 SRMCDLDG Count of loading VMDBKs in
dispatch list (Q0, Q1, Q2, Q3)
0042 66 Signed 2 SRMC1DLD Count of loading VMDBKs in Q1, Q2
and Q3
0044 68 Signed 2 SRMC2DLD Count of loading VMDBKs in Q2 and
Q3
0046 70 Signed 2 SRMC3DLD Count of loading VMDBKs in Q3
0048 72 Signed 2 SRMCELIG Count of VMDBKs in eligible list
(E0, E1, E2, E3)
004A 74 Signed 2 SRMC1ELG Count of VMDBKs in E1, E2, E3
004C 76 Signed 2 SRMC2ELG Count of VMDBKs in E2 and E3
004E 78 Signed 2 SRMC3ELG Count of VMDBKs in E3
0050 80 Signed 2 SRMCELDG Count of loading VMDBKs in
eligible list (Q0, Q1, Q2, Q3)
0052 82 Signed 2 SRMC1ELD Count of loading VMDBKs in E1, E2
and E3
0054 84 Signed 2 SRMC2ELD Count of loading VMDBKs in E2 and
E3
0056 86 Signed 2 SRMC3ELD Count of loading VMDBKs in E3
00000058 SRMCUSRE * End of table
00000020 SRMCUSRL SRMCUSRE-SRMUSERC Length of table
End SRMUSERC
0058 88 Signed 4 SRMCDORM COUNT OF VMDBKS IN DORMANT LIST
DATA FIELDS USED BY INDICATE LOAD COMMAND
005C 92 Signed 4 SRMSPLIN SAMPLING INTERVAL
00000060 SRMSUSRC *
The following tables must follow SRMSUSRC. SRMSUSRC is
treated as the head of a two-dimensional array:
0 1 2 3 (E-list class)
-----------------
SRMEPNFC | | | | |
-----------------
SRMSDSPL | | | | |
-----------------
SRMSLDDL | | | | |
-----------------
SRMSELGL | | | | |
-----------------
SRMSLDEL | | | | |
-----------------
The elements of SRMSUSRC must appear in the same order
as the corresponding elements in the SRMUSERC table.
This is due to the usage of these tables by HCPSTPGS.
See that entry point for details.
00000060 SRMEPNFC * Expansion factors per class
0060 96 Signed 2 SRMEPNF0 Dummy entry for indexing
0062 98 Signed 2 SRMEPNF1 Expansion factor class 1
0064 100 Signed 2 SRMEPNF2 Expansion factor class 2
0066 102 Signed 2 SRMEPNF3 Expansion factor class 3
0068 104 Signed 2 SRMSDSPL Smoothed number of users in the
dispatch list (Q0)
006A 106 Signed 2 SRMSDSP1 Smoothed number of users in Q1
006C 108 Signed 2 SRMSDSP2 Smoothed number of users in Q2
006E 110 Signed 2 SRMSDSP3 Smoothed number of users in Q3
00000070 SRMSDSPE * End of table
0070 112 Signed 2 SRMSLDDL Smoothed number of loading users
in the dispatch list (Q0)
0072 114 Signed 2 SRMSLDD1 Smoothed number of loading users
in Q1
0074 116 Signed 2 SRMSLDD2 Smoothed number of loading users
in Q2
0076 118 Signed 2 SRMSLDD3 Smoothed number of loading users
in Q3
00000078 SRMSLDDE * End of table
0078 120 Signed 2 SRMSELGL Smoothed number of users in the
eligible list (E0)
007A 122 Signed 2 SRMSELG1 Smoothed number of users in E1
007C 124 Signed 2 SRMSELG2 Smoothed number of users in E2
007E 126 Signed 2 SRMSELG3 Smoothed number of users in E3
00000080 SRMSELGE * End of table
0080 128 Signed 2 SRMSLDEL Smoothed number of loading users
in the eligible list (E0)
0082 130 Signed 2 SRMSLDE1 Smoothed number of loading users
in E1
0084 132 Signed 2 SRMSLDE2 Smoothed number of loading users
in E2
0086 134 Signed 2 SRMSLDE3 Smoothed number of loading users
in E3
00000088 SRMSUSRE * End of table
End SRMSUSRC
0088 136 Signed 4 SRMSDORL SMOOTHED NUMBER OF USERS IN THE
DORMANT LIST
008C 140 Signed 4 SRMSTORP Smoothed storage utilization
percentage over eight intervals
of time
0090 144 Signed 4 SRMADJL Adjunct VMDBK Linked List Linked
with VMDADJL, serialized by
HCPLKADJ.
0094 148 Signed 4 SRMDSVMW Dormant list users in SVM wait
0098 152 Signed 4 SRMSTEAL Instantaneous steal value used by
INDICATE LOAD
009C 156 Signed 4 SRMSSTEL Smoothed 'steal' percentages over
eight intervals of time
Expansion Factor Fields
000000A0 SRMTDTM *
00A0 160 Signed 8 SRMTDTM1 Total d-list time, class 1
00A8 168 Signed 8 SRMTDTM2 Total d-list time, class 2
00B0 176 Signed 8 SRMTDTM3 Total d-list time, class 3
000000B8 SRMTATM *
00B8 184 Signed 8 SRMTATM1 Total active (non-dormant) time,
class 1
00C0 192 Signed 8 SRMTATM2 Total active (non-dormant) time,
class 2
00C8 200 Signed 8 SRMTATM3 Total active (non-dormant) time,
class 3
00D0 208 Signed 8 SRMTIDLE The maximum amount of time
granted to a user who goes idle
in the Dispatch list before
dropping it to the Dormant list
SCHEDULING CONTROL FIELDS
00D8 216 Signed 4 SRMXSIZE Blocks of XSTORE available to CP
00DC 220 Signed 4 SRMSTORQ Storage required from preemption
00E0 224 Signed 4 SRMLDGFW (0) Fullword to hold number of page
reads per minor time slice which
constitute a 'loading user'
00E0 224 Signed 2 SRMLDGUS Integer portion of loading user
designation
00E2 226 Signed 2 SRMLDGFC Fractional portion of loading
user designation. this part is
not used. it is here so that
nothing is lost to rounding off
as the fullword is adjusted.
00E4 228 Signed 4 SRMSPGRT SYSTEM CPU-PAGE READ RATIO
00E8 232 Signed 4 SRMAPGDE Average paging rate of a user in
dispatch or eligible list
00EC 236 Signed 4 SRMAWSDE Average working set size of a
user in dispatch or eligible list
00F0 240 Signed 4 SRMXSRTE Current system XSTORE page in and
page out rate (smoothed by
HCPSTPGS)
00F4 244 Signed 4 SRMMNPGR Minimum system paging rate used
by the scheduler
00F8 248 Signed 4 SRMMXPAG Total paging capacity, in pages
per second which can be deliv-
ered by the paging hardware
00FC 252 Signed 4 SRMPGSRW System resource weight for
paging. this is computed by
HCPSTPGS whenever the system
paging rate changes. It is used
in eligible list priority
calculation.
Start of x'100' cache line
0100 256 Signed 8 SRMSTRD Smoothed 'time it takes to read a
page'. Computed by HCPSTP using
the next two fields
0108 264 Signed 4 SRMPGRLD Count of page reads by all E1
loading users
010C 268 Signed 4 SRMMAJTD High order word of TOD clock at
the time of the last major PLDV
reshuffle.
0110 272 Signed 8 SRMDLTLD Total d-list time for all E1
loading users
The next three fields are used to calculate an 'average E1
user' WSS and Paging Rate :
0118 280 Signed 4 SRMT1WSS Total wss of all E1 users
011C 284 Signed 4 SRMT1PGR Total page rate of all E1 users
0120 288 Signed 4 SRMT1USR Count of E1 users included
0124 292 Signed 4 SRMSTSRW System resource weight for
storage. This is computed by
HCPSTPGS whenever the smoothed
storage demand (total wss)
changes. It is used in the
eligible list priority
calculation.
0128 296 Signed 4 * Reserved for future IBM use
012C 300 Signed 4 SRMLOTHR Low throughput value to use when
SRMRTBSZ or more users in
dispatch list
0000000A SRMRTBSZ 10 Number of entries in SRMRTBL
00000004 SRMRTBEL 4 Size of each entry in SRMRTBL
0130 304 Signed 4 SRMRTBL (10) R prime table for 10 or less
dispatch list users. This table
contains our estimate of how much
resource access (service) we can
give to a user, given very few
dispatch list users. It is used
to calculate maximum allowable
eligible list delay.
00000158 SRMRTBEN *
0158 344 Signed 4 SRMRSRVP The "reserved percent". The
percent, in units of CPUs to be
held in reserve for the relative
share users. This field is
protected by the scheduler lock.
015C 348 Signed 4 SRMBIASI The "intensity" that the IABIAS
parameter of the SET SRM command
is currently set to. The range is
0.00-1.00. This field protected
by the scheduler lock.
0160 352 Signed 2 SRMBIASD The "duration" that the IABIAS
parameter of the SET SRM command
is currently set to. The range is
1-100. This field is protected by
the scheduler lock.
0162 354 Signed 2 * Reserved for future IBM use
0164 356 Signed 4 * RESERVED FOR IBM USE
Elapsed Time Slice Variables
0168 360 Signed 8 SRME1ETS E1 elapsed time slice
0170 368 Signed 8 SRMETSMN Minimum elapsed time slice (.05
second or 50,000 microseconds)
0178 376 Signed 8 SRMETSMX Maximum elapsed time slice (16
seconds or 16,000,000
microseconds)
0180 384 Signed 4 SRMETSIN Elapsed time slice increment.
This is the amount the E1 time
slice is incremented whenever a
user does not complete after an
E1 stay.
0184 388 Signed 4 SRMETSDC Elapsed time slice decrement.
This is the amount the E1 time
slice is decremented when a user
completes after an E1 stay.
0188 392 Bitstring 1 SRMDFB0 (0) Byte 0 of SRMDFPTR
1... .... SRMSETDF X'80' SRMSETDF Dormant scan can
set SRMDFPTR
0188 392 Signed 4 SRMDFPTR Dormant list frames pointer,
Serialization of this field is
accomplished using the scheduler
lock. This field is used by both
the scheduler and demand scan. To
reduce scheduler lock contention,
demand scan obtains only a share
of the scheduler lock to use or
change it. This is ok because
only one instance of demand scan
can be running at a time. The
scheduler and any other users
(including future users) of this
field must hold the scheduler
lock in exclusive mode to change
this field.
018C 396 Signed 4 SRMDWPTR Dormant list work pointer,
Serialization of this field is
accomplished using the scheduler
lock. This field is used by both
the scheduler and demand scan. To
reduce scheduler lock contention,
demand scan obtains only a share
of the scheduler lock to use or
change it. This is ok because
only one instance of demand scan
can be running at a time. The
scheduler and any other users
(including future users) of this
field must hold the scheduler
lock in exclusive mode to change
this field.
00000003 SRMLSTEL 3 Last e-list class
0190 400 Signed 2 SRMETSLC (0) Elapsed time slice table Notes :
E1 slice time * any SRMExETF
should always be less than
SRMMVESL.
0190 400 Signed 2 SRME0ETF E0 elapsed time slice factor An
E0 slice is an E1 slice times
this number
0192 402 Signed 2 SRME1ETF Dummy holder for indexing
0194 404 Signed 2 SRME2ETF E2 elapsed time slice factor An
E2 slice is an E1 slice times
this number
0196 406 Signed 2 SRME3ETF E3 elapsed time slice factor An
E3 slice is an E1 slice times
this number
Resource Limits
Notes : E-0 users are not subject to any of these quotas
00000004 SRMCTBLN 4 Number of eligible list
classes, thus number of entries
in each eligible list table
00000002 SRMCTBEL 2 Size of element in the eligible
list tables - each are halfwords
00000001 SRMCTSHF 1 Shift by one to index into
half- word count entries
00000000 SRMEZERO 0 E-0 list equate
00000001 SRMEONE 1 E-1 list equate
00000002 SRMETWO 2 E-2 list equate
00000003 SRMETHRE 3 E-3 list equate
00000000 SRMCLS0 0 Index to the e-0 class entries
00000002 SRMCLS1 1*SRMCTBEL Index to the e-1 class
entries
00000004 SRMCLS2 2*SRMCTBEL Index to the e-2 class
entries
00000006 SRMCLS3 3*SRMCTBEL Index to the e-3 class
entries
0198 408 Signed 2 SRMLMDSP Start of dispatch user limit
table. dummy entry for indxing.
019A 410 Signed 2 SRML1DSP Limit on number of users allowed
in dispatch list (Q1, Q2, Q3)
019C 412 Signed 2 SRML2DSP Limit on number of users allowed
in Q2 and Q3
019E 414 Signed 2 SRML3DSP Limit on number of users allowed
in Q3
000001A0 SRMLEDSP * End of dispatch user limit
table
00000002 SRMDSPEL 2 Size of dispatch table entry
01A0 416 Signed 2 SRMLHRDU Number of LIMITHARD users on the
dispatch list
01A2 418 Signed 2 SRMD1DSP Default number of users allowed
in dispatch list (Q1, Q2, Q3)
01A4 420 Signed 2 SRMD2DSP Default number of users allowed
in Q2 and Q3
01A6 422 Signed 2 SRMD3DSP Default number of users allowed
in Q3
01A8 424 Signed 2 SRMLMLDG Start of loading user limit
table. dummy entry for indxing.
01AA 426 Signed 2 SRML1LDG Limit on number of loading users
allowed in (Q1, Q2, Q3)
01AC 428 Signed 2 SRML2LDG Limit on number of loading users
allowed in (Q2, Q3)
01AE 430 Signed 2 SRML3LDG Limit on number of loading users
allowed in (Q3) load percentages:
these values are set by set srm
ldubuf command and used to
determine the loadlimits, above
00000004 SRMLMTEL 4 Size of each limit field:
SRMDFLDG table elements, SRMPCLDG
table elements, SRMDFWSS table
elements, SRMPCWSS table elements
01B0 432 Signed 4 * Reserved for IBM use
01B4 436 Signed 4 SRMDFLDG (0) Defaults to use for loading user
limits
01B4 436 Signed 4 SRMD1LDG Default for E1
01B8 440 Signed 4 SRMD2LDG Default for E2
01BC 444 Signed 4 SRMD3LDG Default for E3
01C0 448 Signed 4 SRMPCLDG Start of ldg limit table. Dummy
entry for indexing.
01C4 452 Signed 4 SRMP1LDG Percentage of 'load capacity'
which can be taken by Q1, Q2, Q3
01C8 456 Signed 4 SRMP2LDG Percentage of load capacity for
Q2 and Q3
01CC 460 Signed 4 SRMP3LDG Percentage of load capactiy for
Q3
000001D0 SRMPELDG * WSS percentages: These values
are set by SET SRM STORBUF
command and used to determine the
amount of memory which can be
committed to each e-list class.
The actual amount of memory each
percentage repre- sents is
recomputed at user add time in
order to exclude locked pages
01D0 464 Signed 4 SRMWSSMN Minimum user working set size
01D4 468 Signed 4 SRMWSSMP Percentage of avialble memory
which constitutes a maximum WSS
01D8 472 Signed 4 SRMXPCTG Percentage of XSTORE to use in
WSS and available memory calcu-
lations
01DC 476 Signed 4 SRMDFWSS (0) Defaults to use for WSS limits
01DC 476 Signed 4 SRMD1WSS Default for E1
01E0 480 Signed 4 SRMD2WSS Default for E2
01E4 484 Signed 4 SRMD3WSS Default for E3
01E8 488 Signed 4 SRMPCWSS Start of WSS limit table.
Percentage of available memory
which can be taken by Q0 This
value is always 100% to Eliminate
the test for Q0.
01EC 492 Signed 4 SRMP1WSS Percentage of available memory
which can be taken by Q1, Q2, Q3
01F0 496 Signed 4 SRMP2WSS Percentage of available memory
which can be taken by Q2 and Q3
01F4 500 Signed 4 SRMP3WSS Percentage of available memory
which can be taken by Q3
000001F8 SRMPEWSS *
When the SRME1ETS feedback mechanism is being overridden
(due to lack of q1 work) the increment and decrement are
set to zero. Their values are saved in the following two
fields so that the increment and decrement can be restored
when the feedback mechanism is turned back on again.
01F8 504 Signed 4 SRMETSVI Saves the increment (SRMETSIN).
01FC 508 Signed 4 SRMETSVD Saves the decrement (SRMETSDC).
Start of x'200' cache line
0200 512 Signed 4 SRMMNLDC Minimum loading capacity for the
system.
0204 516 Signed 4 SRMLDGCP Total 'load capacity'. This is
the number of users, paging
continuously, required to drive
the paging hardware at its
maximum rate. It is based on
number of read exposures.
Resource Usage Measures
0208 520 Signed 4 SRM1AVPG E1 users' average paging rate,
-in pages per microsecond
00000001 SRM1MNPG 1 Minimum rate to use for E1
-users' average
020C 524 Signed 4 SRM1AVWS E1 users' average working set
-size
00000001 SRM1MNWS 1 Minimum WSS to use for E1
-users' average
0210 528 Signed 4 * Reserved for IBM use
0214 532 Signed 4 SRMWSSDE Total of working set sizes for
all users currently in the
eligible and dispatch lists
0218 536 Signed 4 SRMPGRDE Total last-recorded paging rates
of all users currently in the
eligible and dispatch lists (in
pages / second)
021C 540 Signed 4 SRMPGRDL Total last-recorded paging rates
of all users currently in the
dispatch list (in pages / second)
0220 544 Signed 4 SRMTOTST Total storage to consider when
selecting VMDBKs for the d-list
0224 548 Bitstring 1 SRMBLOCK Blocked class - used when
selecting VMDBKs for the d-list
0225 549 Bitstring 1 * Reserved for IBM use
0226 550 Signed 2 SRMSTDSP Smoothed Total Users in the
Dispatch list (Q0, Q1, Q2, Q3)
00000005 SRMSSCAN 5 Number of VMDBKs to check in a
"short scan" of the E-list.
00000032 SRMLSCAN 50 Number of VMDBKs to check in a
"long scan" of the E-list.
0228 552 Signed 4 SRMHOTIN The "Hotshot Intensity". The
intensity of the Hotshot boost
for unsolicited terminal
interrupts for a VMDBK.
022C 556 Address 4 SRMNEWVM The VMDBK in the Dormant or
Eligible list which last (or
just) received new work. Input to
E-list scan function when there
are NO new resources available in
the D-list.
The following values are used in the E-list Priority calc:
0230 560 Signed 4 SRMEDFF (0) Elig List Delay Factor Feedback
The next 3 fullwords are feedback
values for the E-list Priority
calculation. They adjust the
priority values by class accord-
ing to systems ability to select
E-list users ahead or behind
schedule.
0230 560 Signed 4 SRMEDFF1 Class 1 E-list Delay Factor Fdbck
0234 564 Signed 4 SRMEDFF2 Class 2 E-list Delay Factor Fdbck
0238 568 Signed 4 SRMEDFF3 Class 3 E-list Delay Factor Fdbck
023C 572 Signed 4 SRMEDFFC Constant used to adjust each EDFF
0240 576 Dbl-Word 8 * (2) Reserved for future IBM use
0250 592 Signed 4 SRMPGWTF Paging weighting factor
0254 596 Signed 4 SRMCKVAL relative E1 ETS adjustment factor
used by the E1 ETS adjustment
logic in HCPSTP
HOST MULTI-CPU CONTROLS
0258 600 Signed 2 * Reserved for future IBM use
025A 602 Signed 2 SRMCTSMP Count of CPUs (non-ded and
unparked) that can run SYSTEMMP
work (CPs + IFLs)
025C 604 Signed 4 SRMCRCPU COUNT OF CPU'S NOT IN WAIT STATE
0260 608 Signed 2 SRMMSCPU CPU ADDRESS OF MASTER-SIDE CPU
0262 610 Bitstring 1 SRMFLAGS Flag byte of system status
important to the Scheduler/
Dispatcher.
1... .... SRMAWAIT X'80' SRMAWAIT Set when "Active
Wait" is being used. For a
description of "Active Wait", see
the prolog of the HCPWAI module.
.1.. .... SRMPRMPT X'40' SRMPRMPT Pre-emption
required
..1. .... SRMFRSTP X'20' SRMFRSTP First pass through
hcpschse for this search for
users.
...1 .... SRMCKELI X'10' SRMCKELI Check the eligible
list for users to add to the
d-list
.... 1... SRMNWRSC X'08' SRMNWRSC Set when E-list is
searched for users for promotion
following new resources in the
D-list.
.... .1.. SRMMAJRV X'04' SRMMAJRV A major reshuffle
is due to recalibrate PLDV
entries to a new value of
SRXHIDSP.
.... ..1. SRMLMCNS X'02' SRMLMCNS The consumption
method should be used to limit a
LIMITHARD guest. If off, use the
old deadline method.
.... .... SRMCLEAR 0 SRMCLEAR FLAG CLEARING EQUATE
0263 611 Signed 1 SRMTIDCT Tolerance of Test-Idle lack of
use before Test-Idle is no longer
used for a VMDBK.
0264 612 Address 4 SRMMSPFX Master's prefix page address
0268 616 Signed 4 * Reserved for future IBM use
026C 620 Signed 4 SRMSTPTB Pointer to STP's smoothing table
0270 624 Bitstring 8 SRMMVESL Maximum Elapsed Timeslice.
Required only for users whose ETS
is calculated proportional to
their Working Set Size.
0278 632 Signed 4 SRMWSSDL Start of total Working Set Size
table. Sum of WSS's for all users
(Q0 Q3) currently in the dispatch
list.
027C 636 Signed 4 SRMWSSD1 Sum of WSS's for all Q1, Q2, and
Q3 users currently in the
dispatch list.
0280 640 Signed 4 SRMWSSD2 Sum of WSS's for all Q2 and Q3
users currently in the dispatch
list.
0284 644 Signed 4 SRMWSSD3 Sum of WSS's for all Q3 users
currently in the dispatch list.
0288 648 Signed 4 SRMWSSLG Start of largest user that can
fit into storage by class table.
Equivalent to total unused
storage available per class. Used
to determine if a user should be
allowed into the dispatch list.
First entry is for indexing only
since class 0 users are always
allowed in the dispatch list.
028C 652 Signed 4 SRMWSSL1 Largest E1 user that can fit into
storage = total unused Q1 storage
0290 656 Signed 4 SRMWSSL2 Largest E2 user that can fit into
storage = total unused Q2 storage
0294 660 Signed 4 SRMWSSL3 Largest E3 user that can fit into
storage = total unused Q3 storage
00000004 SRMWSSEL 4 Size of an entry for the
SRMWSSDL and SRMWSSLG (also
SRMPCWSS) tables
0298 664 Signed 4 SRMCTGRW Count drops for growth limit.
029C 668 Signed 4 SRMCTLCK Count drops for LockShot end.
02A0 672 Signed 4 SRMCTPRM Count drops for preemption.
02A4 676 Signed 4 * Reserved for future IBM use
02A8 680 Signed 8 * Reserved for IBM use.
02B0 688 Dbl-Word 8 SRMALOCK (6) Adjunct List Lock *******WARNING:
THIS AREA IS MAPPED BY THE SYNBK
COPY FILE. *******THE AREA MUST
BE 6 DOUBLE WORDS.
02E0 736 Signed 8 SRMTODSV TOD clock time when last
retrieved for scheduler.
02E8 744 Signed 8 SRMTODUS TOD clock time when the last CPU
usage interval started
02F0 752 Dbl-Word 8 SRMDETTM TOD when to check if Master has
been responsive
02F8 760 Dbl-Word 8 * Reserved for future IBM use
Start of x'300' cache line
0300 768 Dbl-Word 8 * Reserved for future IBM use
0308 776 Signed 4 * Reserved for future IBM use
030C 780 Address 4 * Reserved for IBM use
0310 784 Signed 8 SRMMAJAT Value of SRMATOD for the primary
real CPU type at the time of the
last major PLDV reshuffle
The next several fields are part of a mechanism for
tracking how far ahead or behind their eligible list
deadlines users are when they get moved to the dispatch
list. This allows us to forecast more accurately how
long they are remaining in the eligible list, and whether
or not we should steal a user's pages when putting him
in the eligible list.
0318 792 Signed 8 SRMDLYTM Time of next update of the
SRMDLYEL table.
0320 800 Dbl-Word 8 SRMDLYEL (0) Start of table of delays (with
respect to E-list deadline) that
users are encountering when
entering dispatch list. Positive
values represent delays. Negative
represents early entry.
0320 800 Signed 8 SRMDLYE0 E0 delay. (Probably always 0.)
0328 808 Signed 8 SRMDLYE1 E1 delay. Units are TOD.
0330 816 Signed 8 SRMDLYE2 E2 delay. Units are TOD.
0338 824 Signed 8 SRMDLYE3 E3 delay. Units are TOD.
.... ..11 SRMDLYEX 3 SRMDLYEX Shift for indexing
SRMDLYEL.
00000340 SRMDLYEZ * End of the table.
0340 832 Signed 4 SRMCONLL Total count of users on the limit
lists of all SRXBK's. This is the
sum of all SRXCONLL's Serialized
by the sched lock.
The following 3 fields contain the calculated ideal MDC
size for main storage for the last 3 intervals (see STP)
0344 836 Signed 4 SRMSISZ1 MDC storage target size
calculated last interval
0348 840 Signed 4 SRMSISZ2 MDC storage target size
calculated interval before last
034C 844 Signed 4 SRMSISZ3 MDC storage target size
calculated interval before that
The following 3 fields contain the calculated ideal MDC
size for XSTORE for the last 3 intervals (see STP)
0350 848 Signed 4 SRMXISZ1 MDC XSTORE target size calculated
last interval
0354 852 Signed 4 SRMXISZ2 MDC XSTORE target size calculated
interval before last
0358 856 Signed 4 SRMXISZ3 MDC XSTORE target size calculated
interval before that
035C 860 Signed 4 SRMMSNDX PFXINDEX value of master proc
The following field SRMDCPUM is no longer used due to the
disablement of dedicating processors to guests and
will be deleted in future.
0360 864 Dbl-Word 8 SRMDCPUM Dedicated processor bit mask
0368 872 Dbl-Word 8 * (3) Reserved for IBM use
The following fields were previously used to decide
whether parking processors was advantageous to eliminate
Control Program overhead such as lock contention. The
processor parking algorithm no longer considers projected
T/V ratio.
0380 896 Signed 4 SRMTVCRL T/V Critical Value. Previously,
this value was used as a low
threshold to decide whether a T/V
ratio projected for the next
interval should affect the
processor parking algorithm.
Expressed as a scaled number
where x'00010000' = 1.0.
Projected T/V ratio is no longer
used in the park decision.
0384 900 Signed 4 SRMTVCRH T/V Critical Value. Previously,
this value was used as a high
threshold to decide whether a T/V
ratio projected for the next
interval should affect the
processor parking algorithm.
Expressed as a scaled number
where x'00010000' = 1.0.
Projected T/V ratio is no longer
used in the park decision.
0388 904 Dbl-Word 8 * (7) Reserved for future IBM use
The following fields are used together as a table that may
be indexed by processor type (VMDDSPTY). They must remain
contiguous!
03C0 960 Signed 4 SRMXTBL (0) Table of SRXBK indices
03C0 960 Address 4 SRMXCP Pointer to SRXBK for type CP
03C4 964 Address 4 * Unused
03C8 968 Address 4 SRMXZAAP Pointer to SRXBK for type zAAP
03CC 972 Address 4 SRMXIFL Pointer to SRXBK for type IFL
03D0 976 Address 4 SRMXICF Pointer to SRXBK for type ICF
03D4 980 Address 4 SRMXZIIP Pointer to SRXBK for type zIIP
.... .11. SRMXCNT 6 SRMXCNT Count of entries in
SRMXTBL
END OF SRMXTBL TABLE
03D8 984 Dbl-Word 8 * (5) Reserved for IBM use
Start of x'400' cache line
0400 1024 Dbl-Word 8 * (20) Reserved for IBM use
04A0 1184 Signed 4 SRMRSHFSQ Reshuffle sequence number which
is incremented each time a
reshuffle operation occurs.
The following fields are used by the dispatcher to
determine which dispatching settings and algorithms
will be used.
These fields are serialized by the scheduler lock
which must be held exclusive to change the fields.
The lock must be held shared or exclusive to read
the fields.
04A4 1188 Bitstring 1 SRMDSPFL Dispatcher control settings flags
1... .... SRMTSAFF X'80' SRMTSAFF Soft thread
affinity is on
.1.. .... SRMPRLCL X'40' SRMPRLCL Local preemption
is on
..1. .... SRMTSAFS X'20' SRMTSAFS Soft thread
affinity requested, but is
suppressed
04A5 1189 Bitstring 1 SRMTSEPC TSEarly PerCent (hex)
04A6 1190 Bitstring 2 * Reserved for future IBM use
Fields containing current
settings for use by the
dispatcher
04A8 1192 Dbl-Word 8 * (0) Align on dword boundary
04A8 1192 Signed 8 SRMTSEAR TS early setting (TOD units)
04B0 1200 Signed 8 SRMCHIPB Within chip busy steal threshold
in TOD units
04B8 1208 Signed 8 SRMCHIPD Within chip delay steal threshold
in TOD units
04C0 1216 Signed 8 SRMNODEB Within node busy steal threshold
in TOD units
04C8 1224 Signed 8 SRMNODED Within node delay steal threshold
in TOD units
04D0 1232 Signed 8 SRMSYSB Within system busy steal
threshold in TOD units
04D8 1240 Signed 8 SRMSYSD Within system delay steal
threshold in TOD units
04E0 1248 Dbl-Word 8 * (4) Reserved for IBM use
Start of x'500' cache line
Use of this cache line should be avoided unless you
really understand what you're doing. SRMSCHLK is aligned
so the SXLXL is in the cache line by itself. This block
is the global lockword for the Scheduler Lock which is
the most frequently used spinlock in the system. Keeping
this block in a cache line by itself avoids unnecessary
cache contention with any other data usage in the SRMBK.
The Scheduler Lock SXLXL data structure does not use
the old SRMSLOCK name or location to avoid potential
problems with any software that may inspect the storage
location and misinterpret the data in the block. This
way all contents will be zero making it obvious that it
is not what they think it is.
The SYNBX portion of SRMSLOCK was previously in the next
cache line. That space is now unused because the new
Scheduler Lock global data structure does not use a SYNBX.
0500 1280 Dbl-Word 8 SRMSCHLK (4) Scheduler lock using distributed
shared-exclusive spinlock SXLXL.
0520 1312 Dbl-Word 8 * (22) Reserved to avoid interference
with SRMSCHLK (SXLXL) and still
maintain the old SRMSLOCK
location.
05D0 1488 Dbl-Word 8 * (6) No longer the Scheduler Lock
SRMSLOCK data area. See the block
comment above.
Start of x'600' cache line
0600 1536 Bitstring 1 * (256) Reserved for IBM use.
Start of x'700' cache line
This cache line contains only the ATOD lock and fields
that are only referenced while holding the ATOD Lock.
The ATOD lock must be at the start of the cache line for
the unused space to be calculated correctly.
0700 1792 Dbl-Word 8 SRMATDLK (6) ATOD lock. This lock serializes
the ATOD update process. An
exclusive-only lock requiring at
least a share of the Scheduler
lock already held. Updates to
some fields are serialized by
SRMSLOCK exclusive or SRMSLOCK
shared plus SRMATDLK exclusive.
*******WARNING: THIS AREA IS MAPPED BY THE SYNBK COPY FILE.
*******THE AREA MUST BE 6 DOUBLE WORDS.
00000030 SRMATUSD (*-SRMATDLK) Space used in cache
line.
0730 1840 Bitstring 1 SRMATAVL (208) Avail space in cache line.
Start of x'800' cache line
The following 4 fields are CPU bit masks for which each
real processor has a corresponding unique bit.
0800 2048 Bitstring 64 SRMCPUWT Mask of CPUs in wait state This
field was formerly known as
SRMWTCPU.
0840 2112 Bitstring 64 SRMLCPUA Mask containing the logical CPU
ids of CPUs which are online,
non-dedicated and unparked. This
is the logical OR of SRXLCPUA for
all processor types. Serialized
by the sched lock.
0880 2176 Bitstring 64 SRMPKMSK Mask containing the logical CPU
ids of parked CPUs. This is the
logical OR of SRXPKMSK for all
processor types. Serialized by
the sched lock.
08C0 2240 Bitstring 64 SRMMALFM System malfunction alert mask
This field was formerly known as
SYSMALFM.
Start of x'900' cache line
0900 2304 Bitstring 128 SRMCPUST Physical CPU/core status, 2 bits
per CPU/core. Serialized by Vary
Processor lock.
00000000 SRMCPUNR B'00000000' Not recognized
00000040 SRMCPURS B'01000000' Reserved
00000080 SRMCPUSB B'10000000' Standby (or VARY OFF
target)
000000C0 SRMCPUCF B'11000000' Configured (or VARY
ON target)
000000C0 SRMCPUAB B'11000000' All bits for status
of a CPU/core
0980 2432 Bitstring 64 SRMPCPUA OR'd masks for all active CPUs
dedicated or not dedicated, both
parked or unparked, and also
offline CPUs whose prefix pages
have not been freed.
09C0 2496 Bitstring 64 SRMSYNCH System synchronization mask This
field was formerly known as
SYSSYNCH
Start of x'A00' cache line
Miscellaneous Equates
00000008 SRMSCL8 8 For 8-bit scaling
(multi-purpose).
00000140 SRMSIZE (*-SRMBK+7)/8 SRMBK SIZE IN
DOUBLE WORDS
| |