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).
                  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:
          - Virtual Free Storage (HCPVFM)
          - Host Logical 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      8 SUBANCHG       Pointer to 1st SXSTE for
                                            subpooled free storage.
    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 SUBRCNT        Count of requests this size
    0020   32 Signed       4 *              Reserved for IBM use
    0024   36 Signed       4 *              Reserved for IBM use
    0028   40 Signed       4 *              Reserved for IBM use
    002C   44 Signed       4 *              Keep total length in whole
                                            numbers of dwords
              00000030       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 page
    0006    6 Signed       2 SUBMTFCT       Count of pages on SUBMTFTE empty
                                            page 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 SUBCLCTP       Collection pile
    0018   24 Address      8 SUBMTFTEG      SXSTE address of 1st empty page
                                            on queue. FFS mark end of chain.
    0020   32 Signed       4 SUBXTNCT       Count of extends
    0024   36 Signed       4 SUBPAGCT       Count of pages on pool
    0028   40 Signed       4 SUBINUSE       Count of blocks in use on this
                                            subpool
    002C   44 Signed       4 *              Keep total length in whole
                                            numbers of dwords
              00000030       SUBNEXT        * Address of next SUBBK
              00000030       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
          Format 2 SUBBK format used for real aligned free storage
    0000    0 Signed       4 SUB2LOCK       Subpool lock word
    0004    4 Signed       4 SUB2SIZE       Integral size (in DWDS) of
                                            subpool block including FRERECL
    0008    8 Address      8 SUB2ANCH       Pointer to 1st FRMTE for
                                            subpooled free storage.
    0010   16 Dbl-Word     8 SUB2ODWD       Count of DWD currently in use
                                            (multiple of SUBSIZE)
    0018   24 Dbl-Word     8 SUB2CDWD       Count of DWDS now on chain
    0020   32 Dbl-Word     8 SUB2UDWD       Count of actual DWD usage (does
                                            not include internal
                                            fragmentation)
    0028   40 Signed       4 SUB2RCNT       Count of requests this size
    002C   44 Signed       4 *              Keep total length in whole
                                            numbers of dwords
              00000030       SUBASZ         *-SUBBK Size of one subpool entry

#### SUBBK Storage Layout

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

    *** Overlay for SUBLOCK in SUBBK
    *
    *     +------+------+-------------+-------------+-------------+
    *   0 |:TSLK |//////|  SUBBSIZE   |  SUBMAXBS   |  SUBMTFCT   |
    *     +------+------+-------------+-------------+-------------+
    *   8 |         SUBFRETS          |         SUBBLOCK          |
    *     +---------------------------+---------------------------+
    *  10 |         SUBTOTRQ          |         SUBCLCTP          |
    *     +---------------------------+---------------------------+
    *  18 |                      SUBMTFTEG                        |
    *     +---------------------------+---------------------------+
    *  20 |         SUBXTNCT          |         SUBPAGCT          |
    *     +---------------------------+---------------------------+
    *  28 |         SUBINUSE          |///////////////////////////|
    *     +---------------------------+---------------------------+
    *  30
    *
    *** Overlay for SUBLOCK in SUBBK

    *** Overlay for SUBLOCK in SUBBK
    *
    *     +---------------------------+---------------------------+
    *   0 |         SUB2LOCK          |         SUB2SIZE          |
    *     +---------------------------+---------------------------+
    *   8 |                       SUB2ANCH                        |
    *     +-------------------------------------------------------+
    *  10 |                       SUB2ODWD                        |
    *     +-------------------------------------------------------+
    *  18 |                       SUB2CDWD                        |
    *     +-------------------------------------------------------+
    *  20 |                       SUB2UDWD                        |
    *     +---------------------------+---------------------------+
    *  28 |         SUB2RCNT          |///////////////////////////|
    *     +---------------------------+---------------------------+
    *  30
    *
    *** Overlay for SUBLOCK in SUBBK

#### SUBBK Cross Reference

    Symbol         Dspl Value
    -------------- ---- -----
    SUBANCHG       0008
    SUBASZ         002C 00000030
    SUBBLOCK       000C
    SUBBSIZE       0002
    SUBCDWD        0014
    SUBCLCTP       0014
    SUBESZ         002C 00000030
    SUBFRETS       0008
    SUBINUSE       0028
    SUBLOCK        0000
    SUBMAXBS       0004
    SUBMTFCT       0006
    SUBMTFTEG      0018
    SUBNEXT        002C 00000030
    SUBODWD        0010
    SUBOFFSH       002C 00000002
    SUBPAGCT       0024
    SUBRCNT        001C
    SUBSIZE        0004
    SUBSSZ         002C 00000030
    SUBTOTRQ       0010
    SUBTSLK        0000
    SUBUDWD        0018
    SUBXTNCT       0020
    SUB2ANCH       0008
    SUB2CDWD       0018
    SUB2LOCK       0000
    SUB2ODWD       0010
    SUB2RCNT       0028
    SUB2SIZE       0004
    SUB2UDWD       0020

This information is based on z/VM V5R2.0. Last updated on 12 Apr 2006 at 17:29:14 EDT.
Copyright IBM Corporation, 1990, 2005