AVLZN Back to Index page
 
Prolog 
Control Block Contents 
   AvlZn DSECT
   AvlListAnc DSECT
Storage Layout 
Cross Reference (Contains links to field and bit definitions)
Programming Interface Information:
This information is NOT intended to be
used as Programming Interfaces of z/VM.

 
  AVLZN Control Block Content Top of page
 

 AvlZn DSECT Top of page
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. 00000040 AvlB2gZns MAXRPROC Max number of B2G zones 00000040 AvlA2gZns MAXRPROC 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.
 AvlListAnc DSECT Top of page
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).
 
 
  AVLZN Storage Layout Top of page
 
 
*** AvlZn - Available List Zone
*
*     +-------------------------------------------------------+
*   0 |                                                       |
*     =                       AVLCACH0                        =
*     |                                                       |
*     +-------------------------------------------------------+
* 100 |                                                       |
*     =                       AVLCACH1                        =
*     |                                                       |
*     +-------------------------------------------------------+
* 200 |                                                       |
*     =                       AVLCACH2                        =
*     |                                                       |
*     +-------------------------------------------------------+
* 300 |                                                       |
*     =                       AVLCACH3                        =
*     |                                                       |
*     +-------------------------------------------------------+
* 400 |                                                       |
*     =                       AVLCACH4                        =
*     |                                                       |
*     +-------------------------------------------------------+
* 500 |                                                       |
*     =                       AVLCACH5                        =
*     |                                                       |
*     +-------------------------------------------------------+
* 600 |                                                       |
*     =                       AVLCACH6                        =
*     |                                                       |
*     +-------------------------------------------------------+
* 700 |                                                       |
*     =                       AVLCACH7                        =
*     |                                                       |
*     +-------------------------------------------------------+
* 800
*
*** AvlZn - Available List Zone
 
*** Overlay for AvlCach0 in AvlZn
*
*     +-------------------------------------------------------+
*   0 |                        AVLFP                          |
*     +-------------------------------------------------------+
*   8 |                        AVLBP                          |
*     +-------------------------------------------------------+
*  10 |                        AVLLOW                         |
*     +-------------------------------------------------------+
*  18 |                       AVLHIGH                         |
*     +-------------------------------------------------------+
*  20 |                        AVLCID                         |
*     +---------------------------+------+--------------------+
*  28 |          AVLNDX           |:FLAG1|////////////////////|
*     +---------------------------+------+--------------------+
*  30 |                                                       |
*     =                       AVLZNLCK                        =
*     |                                                       |
*     +-------------------------------------------------------+
*  60 |///////////////////////////////////////////////////////|
*     =///////////////////////////////////////////////////////=
*     |///////////////////////////////////////////////////////|
*     +-------------------------------------------------------+
*  F8 |                        AVLEYE                         |
*     +-------------------------------------------------------+
* 100
*
*** Overlay for AvlCach0 in AvlZn
 
*** Overlay for AvlCach1 in AvlZn
*
*     +-------------------------------------------------------+
* 100 |                                                       |
*     =                       AVLLISTC                        =
*     |                                                       |
*     +-------------------------------------------------------+
* 3E8
*
*** Overlay for AvlCach1 in AvlZn
 
*** Overlay for AvlCach4 in AvlZn
*
*     +-------------------------------------------------------+
* 400 |                                                       |
*     =                       AVLLISTS                        =
*     |                                                       |
*     +-------------------------------------------------------+
* 6E8
*
*** Overlay for AvlCach4 in AvlZn
 
*** Overlay for AvlCach7 in AvlZn
*
*     +-------------------------------------------------------+
* 700 |                   AVLZNRETSINGSTK                     |
*     +-------------------------------------------------------+
* 708 |                   AVLZNRETSINGCNT                     |
*     +-------------------------------------------------------+
* 710 |                   AVLZNRETCONTSTK                     |
*     +-------------------------------------------------------+
* 718 |                   AVLZNRETCONTCNT                     |
*     +---------------------------+---------------------------+
* 720 |        AVLZNFSADR         |         AVLTACPT          |
*     +---------------------------+---------------------------+
* 728 |         AVLT2SPT          |///////////////////////////|
*     +---------------------------+---------------------------+
* 730 |                   AVLZNQWORDEXTRA                     |
*     +-------------------------------------------------------+
* 738
*
*** Overlay for AvlCach7 in AvlZn
 
*** AvlListAnc - Available List Zone
*
*     +-------------------------------------------------------+
*   0 |                      AVLLISTFP                        |
*     +-------------------------------------------------------+
*   8 |                      AVLLISTBP                        |
*     +-------------------------------------------------------+
*  10 |                      AVLLISTCNT                       |
*     +-------------------------------------------------------+
*  18 |                     AVLLISTMIREQ                      |
*     +-------------------------------------------------------+
*  20 |                     AVLLISTMIRET                      |
*     +-------------------------------------------------------+
*  28 |                     AVLLISTMIREP                      |
*     +-------------------------------------------------------+
*  30 |                     AVLLISTMIOF                       |
*     +-------------------------------------------------------+
*  38 |                     AVLLISTMIOT                       |
*     +-------------------------------------------------------+
*  40 |                     AVLLISTMIBPT                      |
*     +-------------------------------------------------------+
*  48 |                     AVLLISTMIBPR                      |
*     +-------------------------------------------------------+
*  50 |                   AVLLISTUNFILLED                     |
*     +---------------------------+------+------+------+------+
*  58 |        AVLLISTLWM         |//////|//////|(05E) |//////|
*     +---------------------------+------+------+------+------+
*  60 |///////////////////////////|///////////////////////////|
*     +---------------------------+---------------------------+
*  68 |///////////////////////////|///////////////////////////|
*     +---------------------------+---------------------------+
*  70 |///////////////////////////|///////////////////////////|
*     +---------------------------+---------------------------+
*  78 |///////////////////////////|///////////////////////////|
*     +------+------+------+------+---------------------------+
*  80 |(080) |//////|//////|//////|///////////////////////////|
*     +------+------+------+------+---------------------------+
*  88 |                      AVLLISTDBG                       |
*     +-------------------------------------------------------+
*  90 |                                                       |
*     =                     AVLSTQSTATS                       =
*     |                                                       |
*     +-------------------------------------------------------+
* 108 |                                                       |
*     =                     AVLSTTSTATS                       =
*     |                                                       |
*     +-------------------------------------------------------+
* 180 |                                                       |
*     =                     AVLSTPSTATS                       =
*     |                                                       |
*     +-------------------------------------------------------+
* 1F8 |                                                       |
*     =                     AVLSTOTSTATS                      =
*     |                                                       |
*     +-------------------------------------------------------+
* 270 |                     AVLSTOFSTATS                      |
*     |                                                       |
*     +-------------------------------------------------------+
* 280
*
*** AvlListAnc - Available List Zone
 
 
  AVLZN Cross Reference Top of page
 
 
Symbol         Dspl Value
-------------- ---- -----
AvlA2gZns      0700 00000040
AvlBP          0008
AvlB2gZns      0700 00000040
AvlCachZ       0700 00000800
AvlCach0       0000
AvlCach1       0100
AvlCach2       0200
AvlCach3       0300
AvlCach4       0400
AvlCach5       0500
AvlCach6       0600
AvlCach7       0700
AvlCID         0020
AvlEye         00F8
AvlFlag1       002C
AvlFP          0000
AvlHigh        0018
AvlIsA2G       002C 80
AvlIsContig    0080 40
AvlIsDrain     002C 02
AvlIsInit      002C 01
AvlIsStatic    002C 04
AvlListAncBS   0270 000002E8
AvlListAncDW   0270 0000005D
AvlListBP      0008
AvlListC       0100
AvlListCnt     0010
AvlListCH      005E
AvlListCSFlg   0080
AvlListDbg     0088
AvlListDsc     0080
AvlListFP      0000
AvlListLWM     0058
AvlListMIBPR   0048
AvlListMIBPT   0040
AvlListMIOF    0030
AvlListMIOT    0038
AvlListMIRep   0028
AvlListMIReq   0018
AvlListMIRet   0020
AvlListS       0400
AvlListUnfilled
               0050
AvlLow         0010
AvlNdx         0028
AvlSizedw      0730 00000100
AvlSTOFstats   0270
AvlSTOTstats   01F8
AvlSTPstats    0180
AvlSTQstats    0090
AvlSTTstats    0108
AvlZnFSADR     0720
AvlZnLck       0030
AvlZnQWordExtra
               0730
AvlZnRetContCnt
               0718
AvlZnRetContStk
               0710
AvlZnRetSingCnt
               0708
AvlZnRetSingStk
               0700
AVLTACPT       0724
AVLT2SPT       0728
Sprint10       072C 0000000A
Sprint12       072C 0000000C
Sprint14       072C 0000000E
Sprint16       072C 00000010
Sprint17       072C 00000011
Sprint19       072C 00000013
Sprint20       072C 00000014
Sprint21       072C 00000015
Sprint22       072C 00000016
Sprint23       072C 00000017
 
This information is based on z/VM 6.4.0 Last updated on 24 Aug 2016 at 09:22:52 EDT.
Copyright IBM Corporation, 1990, 2016