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.
              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.

     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 00000080
    AvlBP          0008
    AvlB2gZns      0700 00000080
    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 7.2.0 Last updated on 24 Jun 2020 at 09:27:06 EDT.
Copyright IBM Corporation, 1990, 2020