|
Hex Dec Type/Val Lng Label (dup) Comments
---- ---- --------- ---- -------------- --------
0000 0 Structure AvlZn Available List Zone
0000 0 Unknown 1 AvlCach0 (256) Cache line 0
0100 256 Unknown 1 AvlCach1 (256) Cache line 1
0200 512 Unknown 1 AvlCach2 (256) Cache line 2
0300 768 Unknown 1 AvlCach3 (256) Cache line 3
0400 1024 Unknown 1 AvlCach4 (256) Cache line 4
0500 1280 Unknown 1 AvlCach5 (256) Cache line 5
0600 1536 Unknown 1 AvlCach6 (256) Cache line 6
0700 1792 Unknown 1 AvlCach7 (256) Cache line 7
00000800 AvlCachZ * End of AvlZn
The maximum number of zones B2G and A2G, useful for
allocating arrays and things.
00000080 AvlB2gZns MAXVMPRC Max number of B2G zones
00000080 AvlA2gZns MAXVMPRC Max number of A2G zones
Cache line 0
The following fields are for the queuing
and management of multiple available zones.
See Serialization regarding Avl_P
0000 0 Address 8 AvlFP Forward pointer. Circular.
0008 8 Address 8 AvlBP Back pointer. Circular.
0010 16 Address 8 AvlLow First FRMTE address that belongs.
0018 24 Address 8 AvlHigh Last FRMTE address that belongs.
0020 32 Character 8 AvlCID 8 Character identifier. (Mainly
for monitor records.)
0028 40 Signed 4 AvlNdx Index into rsaAvlZ0/Z2 array
002C 44 Bitstring 1 AvlFlag1 Flag1
1... .... AvlIsA2G X'80' AvlIsA2G Zone holds frames
>2G
.... .1.. AvlIsStatic X'04' AvlIsStatic Is in HCPRSM,
not Free storage. If either of
the following 2 bits is on,
FRMTEs will not be allocated from
the list, but FRMTEs may be
returned to the list.
.... ..1. AvlIsDrain X'02' AvlIsDrain List is
draining.
.... ...1 AvlIsInit X'01' AvlIsInit List is
initializing. (DMU in progress.)
002D 45 Bitstring 1 * (3) Reserved for IBM use.
0030 48 Signed 8 AvlZnLck (6) Locks both the AvlListC and
AvlListS lists. This lock is
obtained & released via macros
HCPLKAV and HCPULAV.
0060 96 Dbl-Word 8 * (19) Positioning the eye catcher at
the end of cach line 0
00F8 248 Character 8 AvlEye Eye catcher
Cache lines 1-3
0100 256 Signed 8 AvlListC (93) Contigs list anchor.
Cache lines 4-6
0400 1024 Signed 8 AvlListS (93) Singles list anchor.
Cache line 7
The next CHKMAINTs ensure that certain fields are
on a quadword boundary. Note, this only works because
we know that the AvlZn is on a cache line boundary.
QuadWord alignment is required to update two Dwords
with a single CDSG.
Verify that we are at qword alignment.
0700 1792 Address 8 AvlZnRetSingStk
Return stack of singles. Points
to FRMTE chain. Empty = StgEOQ.
Forward pointer chained.
Terminator = StgEOQ.
0708 1800 Signed 8 AvlZnRetSingCnt
Return stack singles count. Empty
= 0
Verify that we are at qword alignment.
0710 1808 Address 8 AvlZnRetContStk
Return stack of contigs. Points
to FRMTE chain. Empty = StgEOQ.
Forward pointer chained.
Terminator = StgEOQ.
0718 1816 Signed 8 AvlZnRetContCnt
Return stack contigs count. Empty
= 0
0720 1824 Address 4 AvlZnFSADR Starting address of containing
free storage block. (QWord).
0724 1828 Signed 4 AVLTACPT Local copy of TACPT/(number of
active zones.)
0728 1832 Signed 4 AVLT2SPT Local copy of T2SPT/(number of
active zones.)
072C 1836 Signed 4 * Reserved. Disappearing tokens.
0000000C Sprint12 12 Little questions, misc.
00000010 Sprint16 16 Monitor changes for mAvlZns.
And 2707256.
00000011 Sprint17 17 Time based statistics change
0000000E Sprint14 14 "Massive" commment changes.
0000000A Sprint10 10 Less cache hit/counting.
00000013 Sprint19 19 Possible performance tweaks.
(Just marking, no work
remaining.)
00000014 Sprint20 20
00000015 Sprint21 21
00000016 Sprint22 22
00000017 Sprint23 23
0730 1840 Signed 8 AvlZnQWordExtra
This word is defined so 1 extra
double word of storage is
obtained so that we may advance
up to 8 bytes from the start of
the obtained free storage block
in order to start the block on a
definite quadword boundary.
End of the AvlZn
00000100 AvlSizedw (*-AvlZn+7)/8 Size, in
doublewords, of AVLZn
Define a local DSECT that maps a UGAL anchor.
This facilitates logic when manipulating the lists.
Hex Dec Type/Val Lng Label (dup) Comments
---- ---- --------- ---- -------------- --------
0000 0 Structure AvlListAnc Available List Zone
0000 0 Address 8 AvlListFP Forward pointer. Points to self
when empty.
0008 8 Address 8 AvlListBP Backward pointer. Points to
forward pointer when empty.
0010 16 Signed 8 AvlListCnt Count of FRMTEs on the list. Zero
when empty.
0018 24 Signed 8 AvlListMIReq MI Count of requests.
0020 32 Signed 8 AvlListMIRet MI Count of returns.
0028 40 Signed 8 AvlListMIRep MI Count of replenishes
0030 48 Signed 8 AvlListMIOF MI Count of FRMTES orphaned from
0038 56 Signed 8 AvlListMIOT MI Count of FRMTES orphaned to
0040 64 Signed 8 AvlListMIBPT MI Count of FRMTEs back pocketed.
(Usually to swap to make
contigs.)
0048 72 Signed 8 AvlListMIBPR MI Count of FRMTEs "returned"
that were in a back pocket.
(Usually to swap to make
contigs.)
0050 80 Signed 8 AvlListUnfilled
Number of unfulfilled requests.
0058 88 Signed 4 AvlListLWM Low water mark of count. Reset by
threshold manager.
005C 92 Signed 4 * (0) Serialized word. * (Serialized by
AvlZnLck.)
005C 92 Bitstring 1 * Reserved for IBM use.
005D 93 Bitstring 1 * Reserved for IBM use.
005E 94 Bitstring 1 AvlListCH Count high by this much.
005F 95 Bitstring 1 * Reserved for IBM use
0060 96 Signed 4 * Reserved for IBM use.
0064 100 Signed 4 * Reserved for IBM use.
0068 104 Signed 4 * Reserved for IBM use.
006C 108 Signed 4 * Reserved for IBM use.
0070 112 Signed 4 * Reserved for IBM use.
0074 116 Signed 4 * Reserved for IBM use.
0078 120 Signed 4 * Reserved for IBM use.
007C 124 Signed 4 * Reserved for IBM use.
0080 128 Signed 4 AvlListCSFlg (0)
4 compare and swap flag bytes.
0080 128 Bitstring 1 AvlListDsc Description flag (Never changes)
IsA2G EQU X'80' Anchor holds
frames >2G
.1.. .... AvlIsContig X'40' Anchor holds contigs
0081 129 Bitstring 1 * Reserved for IBM use.
0082 130 Bitstring 1 * Reserved for IBM use.
0083 131 Bitstring 1 * Reserved for IBM use.
0084 132 Address 4 * Reserved for IBM use.
0088 136 Signed 8 AvlListDbg A debug field.
0090 144 Signed 8 AvlSTQstats (15)
Stats for requests.
0108 264 Signed 8 AvlSTTstats (15)
Stats for returns.
0180 384 Signed 8 AvlSTPstats (15)
Stats for replenishment
01F8 504 Signed 8 AvlSTOTstats (15)
Stats for Orphan To
0270 624 Signed 8 AvlSTOFstats (2)
Stats for Orphan From
000002E8 AvlListAncBS *-AvlListAnc Byte size.
0000005D AvlListAncDW (AvlListAncBS+7)/8 Double word
size.
Define a local DSECT that maps the stats in the available
lists.
Notes : This DSECT is used significantly in macros. For
this reason, they do HCPUSINGs. If an HCPUSING is used
in code, it should not be done over associated macros.
Serialization. Some fields are serialized by the
Available zone lock (ALL) and some fields are serialized
by the RSAALUST TS lock (ALU).
| |