Programming Interface Information: This information is NOT intended to be used as Programming Interfaces of z/VM.

#### SUBBK

Prolog

Control Block Contents
SUBBK DSECT

Storage Layout

Cross Reference (Contains links to field and bit definitions)

#### SUBBK Prolog

     Name       : HCPSUBBK
     Description: Subpool Data Area Block
     DSECT      : SUBBK
     Function   :
                  Maps each of the free storage subpool data area
                  elements.
     Created by : Never allocated
     Deleted by : Never deallocated
     Notes      : This DSECT is used to map the free storage subpool
                  data area groups located in HCPRSM. Specifically,
                  HCPRSMSS (regular free storage subpools) and
                  HCPRSMVT (V=R free storage subpools).
                  Each data area group consists of multiple data
                  area elements.

#### SUBBK Control Block Content

#### SUBBK DSECT

    Hex   Dec Type/Val   Lng Label (dup)    Comments
    ---- ---- --------- ---- -------------- --------
    0000    0 Structure      SUBBK          Subpool Data Area Block
         Format 0 ("old style") SUBBK format used for subpools for the following
         types of subpooled free storage:
         - V=R free storage (HCPFRFV* entry points, HCPVRS) - Virtual Free
         Storage (HCPVFM) - Aligned Free Storage (HCPAFS) - Verifiable Free
         Storage (HCPVCB)
    0000    0 Signed       4 SUBLOCK        Subpool lock word
    0004    4 Signed       4 SUBSIZE        Integral size (in DWDS) of
                                            subpool block including FRERECL
    0008    8 Address      4 SUBANCH        Pointer to first FRMTE for
                                            subpooled free storage, or 1st
                                            available block for V=R
    000C   12 Signed       4 SUBRCNT        Count of requests this size
    0010   16 Signed       4 SUBODWD        Count of DWD currently in use
                                            (multiple of SUBSIZE)
    0014   20 Signed       4 SUBCDWD        Count of DWDS now on chain
    0018   24 Signed       4 SUBUDWD        Count of actual DWD usage (does
                                            not include internal
                                            fragmentation)
    001C   28 Signed       4 *              Reserved for IBM use
    0020   32 Signed       4 *              Reserved for IBM use
              00000024       SUBESZ         *-SUBBK Size of one subpool entry
         Format 1 ("new/fast style") SUBBK format used for standard short term
         free storage, including "fast allocated" free storage control blocks.
    0000    0 Bitstring    1 SUBTSLK        Subpool lock byte
    0001    1 Bitstring    1 *              Reserved for IBM use
    0002    2 Signed       2 SUBBSIZE       Size in bytes (including
                                            header/trailer) of each block on
                                            this subpool
    0004    4 Signed       2 SUBMAXBS       Maximum number of blocks that fit
                                            in one frame
    0006    6 Signed       2 SUBMTFCT       Count of frames on SUBMTFTE empty
                                            frame queue for this subpool
                                            Notes : The following three
                                            fields (SUBFRETS, SUBBLOCK, and
                                            SUBTOTRQ) must remain contiguous
                                            and in order, as there is
                                            performance sensitive code in the
                                            free storage allocation and
                                            deallocation paths which
                                            references two adjacent fields
                                            (SUBBLOCK and SUBTOTRQ for
                                            allocation, SUBFRETS and SUBBLOCK
                                            for deallocation) with a single
                                            STM instruction
    0008    8 Signed       4 SUBFRETS       Total count of returns to this
                                            free storage subpool
    000C   12 Signed       4 SUBBLOCK       Anchor for blocks on this subpool
    0010   16 Signed       4 SUBTOTRQ       Total count of requests against
                                            this subpool
    0014   20 Signed       4 SUBMTFTE       FRMTE address of 1st empty frame
                                            on queue. FFS mark end of chain.
    0018   24 Signed       4 SUBCLCTP       Collection pile
    001C   28 Signed       4 SUBXTNCT       Count of extends
    0020   32 Signed       2 SUBFRMCT       Count of frames on pool
    0022   34 Signed       2 SUBINUSE       Count of blocks in use on this
                                            subpool
              00000024       SUBNEXT        * Address of next SUBBK
              00000024       SUBSSZ         *-SUBBK Size of one standard
                                            short term free storage SUBBK
                                            entry
              00000002       SUBOFFSH       2 Number of bits to shift a
                                            subpool number to get the index
                                            into the HCPFRESO SUBBK offsets
                                            table for the subpool's SUBBK

#### SUBBK Storage Layout

    *** SUBBK - Subpool Data Area Block
    *
    *     +---------------------------+---------------------------+
    *   0 |         SUBLOCK           |         SUBSIZE           |
    *     +---------------------------+---------------------------+
    *   8 |         SUBANCH           |         SUBRCNT           |
    *     +---------------------------+---------------------------+
    *  10 |         SUBODWD           |         SUBCDWD           |
    *     +---------------------------+---------------------------+
    *  18 |         SUBUDWD           |///////////////////////////|
    *     +---------------------------+---------------------------+
    *  20 |///////////////////////////| 24
    *     +---------------------------+
    *
    *** SUBBK - Subpool Data Area Block

    *** Overlay for SUBLOCK in SUBBK
    *
    *     +------+------+-------------+-------------+-------------+
    *   0 |:TSLK |//////|  SUBBSIZE   |  SUBMAXBS   |  SUBMTFCT   |
    *     +------+------+-------------+-------------+-------------+
    *   8 |         SUBFRETS          |         SUBBLOCK          |
    *     +---------------------------+---------------------------+
    *  10 |         SUBTOTRQ          |         SUBMTFTE          |
    *     +---------------------------+---------------------------+
    *  18 |         SUBCLCTP          |         SUBXTNCT          |
    *     +-------------+-------------+---------------------------+
    *  20 |  SUBFRMCT   |  SUBINUSE   | 24
    *     +-------------+-------------+
    *
    *** Overlay for SUBLOCK in SUBBK

#### SUBBK Cross Reference

    Symbol         Dspl Value
    -------------- ---- -----
    SUBANCH        0008
    SUBBLOCK       000C
    SUBBSIZE       0002
    SUBCDWD        0014
    SUBCLCTP       0018
    SUBESZ         0020 00000024
    SUBFRETS       0008
    SUBFRMCT       0020
    SUBINUSE       0022
    SUBLOCK        0000
    SUBMAXBS       0004
    SUBMTFCT       0006
    SUBMTFTE       0014
    SUBNEXT        0022 00000024
    SUBODWD        0010
    SUBOFFSH       0022 00000002
    SUBRCNT        000C
    SUBSIZE        0004
    SUBSSZ         0022 00000024
    SUBTOTRQ       0010
    SUBTSLK        0000
    SUBUDWD        0018
    SUBXTNCT       001C

This information is based on z/VM V4R3.0. Last updated on 1 May 2002 at 10:24:31 EDT.
Copyright IBM Corporation, 1990, 2002