SUBBK Back to Index page
 
Prolog 
Control Block Contents 
   SUBBK 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.


  SUBBK Prolog Top of page
 
 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
 RELOCATION CONSIDERATIONS : None
 NOTES      : This DSECT is used to map the free storage subpool
              data structures. These structures are located in
              HCPRSM for all types of free storage except virtual
              free.  Virtual free storage SUBBKs are built in the
              virtual free address space starting at X'800'.
              Each data area group consists of multiple data
              area elements.
              The SUBBKs for all types of free storage except
              for virtual free are a cache line in size. HCPPOOLS
              and HCPRSM ensure cache alignment. This is to avoid
              cache contention between different processors
              allocating blocks from different subpools.
              The SUBBKs for virtual free are not cache aligned.
 
 
  SUBBK Control Block Content Top of page
 

 SUBBK DSECT Top of page
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 * Reserved for IBM use 0030 48 Signed 4 * Reserved for IBM use 0034 52 Signed 4 * Keep total length in whole numbers of dwords 00000038 SUBVSZ *-SUBBK Virtual free subbk size 0038 56 Dbl-Word 8 * (25) Reserved for IBM use. 00000100 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 * Reserved for IBM use 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 SUBMTFCT Count of pages on SUBMTFTE empty page queue for this subpool 0030 48 Signed 4 SUBBLKCT Total count of available blocks on SUBBLOCK queue + the SUBCLCTP (collection pile) queue. RAS count maintained only in debug mode. Combined count enables accuracy during HCPFRFDX processing which requeues the blocks. 0034 52 Signed 4 SUBANYB2G Count of <2G pages on this subpool obtained by the SXS page mgr as a result of an ANY request. Does not include disextend queue pages 0038 56 Dbl-Word 8 * (25) Reserved for IBM use. 00000100 SUBNEXT * Address of next SUBBK 00000100 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 * Reserved for IBM use 0030 48 Signed 4 * Reserved for IBM use 0034 52 Signed 4 * Keep total length in whole numbers of dwords 0038 56 Dbl-Word 8 * (25) Reserved for IBM use. 00000100 SUBASZ *-SUBBK Size of one subpool entry
 
 
  SUBBK Storage Layout Top of page
 
          
*** SUBBK - Subpool Data Area Block
*
*     +---------------------------+---------------------------+
*   0 |         SUBLOCK           |         SUBSIZE           |
*     +---------------------------+---------------------------+
*   8 |                       SUBANCHG                        |
*     +---------------------------+---------------------------+
*  10 |         SUBODWD           |         SUBCDWD           |
*     +---------------------------+---------------------------+
*  18 |         SUBUDWD           |         SUBRCNT           |
*     +---------------------------+---------------------------+
*  20 |///////////////////////////|///////////////////////////|
*     +---------------------------+---------------------------+
*  28 |///////////////////////////|///////////////////////////|
*     +---------------------------+---------------------------+
*  30 |///////////////////////////|///////////////////////////|
*     +---------------------------+---------------------------+
*  38 |///////////////////////////////////////////////////////|
*     =///////////////////////////////////////////////////////=
*     |///////////////////////////////////////////////////////|
*     +-------------------------------------------------------+
* 100
*
*** SUBBK - Subpool Data Area Block
          
*** Overlay for SUBLOCK in SUBBK
*
*     +------+------+-------------+-------------+-------------+
*   0 |:TSLK |//////|  SUBBSIZE   |  SUBMAXBS   |/////////////|
*     +------+------+-------------+-------------+-------------+
*   8 |         SUBFRETS          |         SUBBLOCK          |
*     +---------------------------+---------------------------+
*  10 |         SUBTOTRQ          |         SUBCLCTP          |
*     +---------------------------+---------------------------+
*  18 |                      SUBMTFTEG                        |
*     +---------------------------+---------------------------+
*  20 |         SUBXTNCT          |         SUBPAGCT          |
*     +---------------------------+---------------------------+
*  28 |         SUBINUSE          |         SUBMTFCT          |
*     +---------------------------+---------------------------+
*  30 |         SUBBLKCT          |        SUBANYB2G          |
*     +---------------------------+---------------------------+
*  38 |///////////////////////////////////////////////////////|
*     =///////////////////////////////////////////////////////=
*     |///////////////////////////////////////////////////////|
*     +-------------------------------------------------------+
* 100
*
*** Overlay for SUBLOCK in SUBBK
          
*** Overlay for SUBLOCK in SUBBK
*
*     +---------------------------+---------------------------+
*   0 |         SUB2LOCK          |         SUB2SIZE          |
*     +---------------------------+---------------------------+
*   8 |                       SUB2ANCH                        |
*     +-------------------------------------------------------+
*  10 |                       SUB2ODWD                        |
*     +-------------------------------------------------------+
*  18 |                       SUB2CDWD                        |
*     +-------------------------------------------------------+
*  20 |                       SUB2UDWD                        |
*     +---------------------------+---------------------------+
*  28 |         SUB2RCNT          |///////////////////////////|
*     +---------------------------+---------------------------+
*  30 |///////////////////////////|///////////////////////////|
*     +---------------------------+---------------------------+
*  38 |///////////////////////////////////////////////////////|
*     =///////////////////////////////////////////////////////=
*     |///////////////////////////////////////////////////////|
*     +-------------------------------------------------------+
* 100
*
*** Overlay for SUBLOCK in SUBBK
 
 
  SUBBK Cross Reference Top of page
 
 
Symbol         Dspl Value
-------------- ---- -----
SUBANCHG       0008
SUBANYB2G      0034
SUBASZ         0038 00000100
SUBBLKCT       0030
SUBBLOCK       000C
SUBBSIZE       0002
SUBCDWD        0014
SUBCLCTP       0014
SUBESZ         0038 00000100
SUBFRETS       0008
SUBINUSE       0028
SUBLOCK        0000
SUBMAXBS       0004
SUBMTFCT       002C
SUBMTFTEG      0018
SUBNEXT        0038 00000100
SUBODWD        0010
SUBOFFSH       0038 00000002
SUBPAGCT       0024
SUBRCNT        001C
SUBSIZE        0004
SUBSSZ         0038 00000100
SUBTOTRQ       0010
SUBTSLK        0000
SUBUDWD        0018
SUBVSZ         0034 00000038
SUBXTNCT       0020
SUB2ANCH       0008
SUB2CDWD       0018
SUB2LOCK       0000
SUB2ODWD       0010
SUB2RCNT       0028
SUB2SIZE       0004
SUB2UDWD       0020
 
This information is based on z/VM 7.3.0 Last updated on 22 Jun 2022 at 15:56:36 EDT.
Copyright IBM Corporation, 1990, 2022