Programming Interface Information: This information is NOT intended to be
used as Programming Interfaces of VM/ESA. It is to be used for diagnosis only.

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          |                           |
*     +---------------------------+                           |
*  50 |                                                       |
*     =                       BMSPDST                         =
*     |                                                       |
*     +-------------------------------------------------------+
*
*** BMSBK - BUFFER MANAGEMENT SERVICE CONTROL BLOCK

 

BMSBK Cross Reference

(contains links to field and bit definitions)
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 VM/ESA 2.4.0.
Last updated on 3 Aug 1999 at 11:42:19 EDT.
Copyright IBM Corporation, 1990, 1999