BMSBK - 32-bit CP - V4R4.0
Programming Interface Information:
This information is NOT intended to be
used as Programming Interfaces of z/VM.

BMSBK

Prolog  

Control Block Contents  
   BMSBK DSECT

Storage Layout  

Cross Reference (Contains links to field and bit definitions)  


BMSBK Prolog

 NAME       : HCPBMSBK
 DESCRIPTION: BUFFER MANAGEMENT SERVICE CONTROL BLOCK
 DSECT      : BMSBK
 FUNCTION   : CONTAINS THE CURRENT STATUS OF A BUFFER
              MANAGEMENT TASK
 LOCATED BY : USAGE DEPENDENT
 CREATED BY : HCPBMSIN
 DELETED BY : HCPBMSTM
 EMPLOYED BY- HCPBMSRA : WHEN RETURNING A LIST OF BUFFERS
              TO THE AVAILABLE STACK
              HCPBMSOA : WHEN OBTAINING A LIST OF BUFFERS
              FROM THE AVAILABLE STACK
              HCPBMSGA : WHEN GETTING A BUFFER FROM THE
              AVAILABLE STACK
              HCPBMSAA : WHEN ADDING BUFFERS FROM FREE
              STORAGE TO THE AVAILABLE STACK
              HCPBMSSA : WHEN RETURNING BUFFERS FROM THE
              AVAILABLE STACK TO FREE STORAGE
              HCPBMSPP : WHEN PUTTING A BUFFER ON THE
              PENDING QUEUE
              HCPBMSOP : WHEN OBTAINING A LIST OF BUFFERS
              FROM THE PENDING QUEUE
              HCPBMSQP : WHEN GETTING THE COUNT OF BUFFERS
              ON THE PENDING QUEUE
 COMMENTS   : SERIALIZED BY THE BMSBK LOCK, BMSLOCK FOR
              ALL ENTRY POINTS EXCEPT HCPBMSIN.

 

BMSBK Control Block Content


BMSBK DSECT

Hex   Dec Type/Val   Lng Label (dup)    Comments
---- ---- --------- ---- -------------- --------
0000    0 Structure      BMSBK          BUFFER MANAGEMENT SERVICE CONTROL
                                        BLOCK
     BUFFER MANAGEMENT SERVICE INFORMATION
0000    0 Signed       4 * (0)          BLOCK STATUS
0000    0 Bitstring    1 BMSSTTYP       FREE STORAGE INDICATOR
          .... ...1      BMSPAG         X'01' BMSBK IS A REAL FRAME
                                        (PAGE)
          .... ..1.      BMSFRE         X'02' BMSBK IS FROM FREE STORAGE
          .... .1..      BMSFIXED       X'04' BMSBK DESCRIBES A BUFFER
                                        POOL THAT IS A FIXED SIZE (USED
                                        BY TRSAVE FOR CP ON)
          .... 1...      BMSDFRIO       X'08' Wrap buffers in real
                                        storage
0001    1 Bitstring    1 *              RESERVED FOR FUTURE USE
0002    2 Signed       2 BMSDWSZ        DOUBLE WORD SIZE OF BLOCK THIS
                                        FIELD IS ONLY USED WHEN THIS
                                        BLOCK IS CREATED FORM FREE
                                        STORAGE
0004    4 Signed       4 BMSBUFCT       COUNT OF TOTAL BUFFERS Within a
                                        chain of BMSBKs, this field is
                                        only meaningful in the first
                                        BMSBK of the chain
0008    8 Signed       4 BMSAVBCT       COUNT OF AVAILABLE BUFFERS Within
                                        a chain of BMSBKs, this field is
                                        only meaningful in the first
                                        BMSBK of the chain
000C   12 Signed       4 BMSPDBCT       COUNT OF PENDING BUFFERS Within a
                                        chain of BMSBKs, this field is
                                        only meaningful in the first
                                        BMSBK of the chain
0010   16 Signed       4 BMSRTBCT       COUNT OF BUFFERS RETURNED TO THE
                                        AVAILABLE STACK
0014   20 Signed       4 *              RESERVED FOR FUTURE USE
     BUFFER LOCKS
0018   24 Dbl-Word     8 BMSLOCK (3)    SPIN LOCK FOR THE BMS BLOCK
                                        Within a chain of BMSBKs, this
                                        field is only meaningful in the
                                        first BMSBK of the chain
     AVAILABLE BUFFERS
0030   48 Address      4 BMSAVPTR       POINTER TO AVAILABLE BUFFERS
                                        Within a chain of BMSBKs, this
                                        field is only meaningful in the
                                        first BMSBK of the chain
     PENDING BUFFERS
0034   52 Address      4 BMSNEXT        Pointer to next BMSBK in chain of
                                        BMSBKs
0038   56 Address      4 BMSBMOFF       Pointer to BMSBK which contains
                                        oldest pending buffer. Within a
                                        chain of BMSBKs, this field is
                                        only meaningful in the first
                                        BMSBK of the chain
003C   60 Address      4 BMSBMON        Pointer to BMSBK which contains
                                        next available slot. Within a
                                        chain of BMSBKs, this field is
                                        only meaningful in the first
                                        BMSBK of the chain
0040   64 Address      4 BMSPDOFF       POINTER TO FIRST BUFFER ON THE
                                        QUEUE
0044   68 Address      4 BMSPDON        POINTER TO NEXT AVAILABLE SLOT ON
                                        THE QUEUE
0048   72 Address      4 BMSPDLST       ADDRESS OF THE LAST SLOT IN THE
                                        ARRAY
          0000000A       BMSHSIZE       (*-BMSBK+7)/8 SIZE OF THE BMS
                                        HEADER
004C   76 Address      4 BMSPDST (0)    START OF VARIABLE LENGTH DATA
                                        ARRAY OF POINTERS TO PENDING
                                        BUFFERS 1000 BUFFERS ARE MAXIMUM

 

BMSBK Storage Layout

          
*** BMSBK - BUFFER MANAGEMENT SERVICE CONTROL BLOCK
*
*     +------+------+-------------+---------------------------+
*   0 |:STTYP|//////|  BMSDWSZ    |         BMSBUFCT          |
*     +------+------+-------------+---------------------------+
*   8 |         BMSAVBCT          |         BMSPDBCT          |
*     +---------------------------+---------------------------+
*  10 |         BMSRTBCT          |///////////////////////////|
*     +---------------------------+---------------------------+
*  18 |                                                       |
*     =                       BMSLOCK                         =
*     |                                                       |
*     +---------------------------+---------------------------+
*  30 |         BMSAVPTR          |         BMSNEXT           |
*     +---------------------------+---------------------------+
*  38 |         BMSBMOFF          |         BMSBMON           |
*     +---------------------------+---------------------------+
*  40 |         BMSPDOFF          |         BMSPDON           |
*     +---------------------------+---------------------------+
*  48 |         BMSPDLST          |
*     +---------------------------+
*
*** BMSBK - BUFFER MANAGEMENT SERVICE CONTROL BLOCK

 

BMSBK Cross Reference

Symbol         Dspl Value
-------------- ---- -----
BMSAVBCT       0008
BMSAVPTR       0030
BMSBMOFF       0038
BMSBMON        003C
BMSBUFCT       0004
BMSDFRIO       0000 08
BMSDWSZ        0002
BMSFIXED       0000 04
BMSFRE         0000 02
BMSHSIZE       0048 0000000A
BMSLOCK        0018
BMSNEXT        0034
BMSPAG         0000 01
BMSPDBCT       000C
BMSPDLST       0048
BMSPDOFF       0040
BMSPDON        0044
BMSPDST        004C
BMSRTBCT       0010
BMSSTTYP       0000

This information is based on z/VM V4R4.0. Last updated on 29 Jul 2003 at 15:15:46 EDT.
Copyright IBM Corporation, 1990, 2003