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


  DSCBK Prolog Top of page
 
 NAME       : HCPDSCBK
 DESCRIPTION: Demand Scan Control Block
 DSECT      : DSCBK
 FUNCTION   :
              The Demand Scan Control Block (DSCBK) contains
              information about the Available List Demand Scan
              operation.  The DSCBK is persistent and some
              information is saved between Demand Scans.
 CREATED BY : Assembly at Entry Point HCPRSMSC.
 DELETED BY : none
 RELOCATION CONSIDERATIONS : None
 
 
  DSCBK Control Block Content Top of page
 

 DSCBK DSECT Top of page
Hex Dec Type/Val Lng Label (dup) Comments ---- ---- --------- ---- -------------- -------- 0000 0 Structure DSCBK Demand Scan Control Block 0000 0 Signed 4 DSCWORD (0) Demand Scan Status Word 0000 0 Bitstring 1 * (3) Reserved 0003 3 Bitstring 1 DSCXSTFL XSTORE management flags 1... .... DSCXSTOR X'80' DSCXSTOR Try paging pages out to XSTORE before sending them to DASD. 0004 4 Signed 4 DSCINPUT (0) Demand Scan Input Word DSCINPUT is a word of "input status" hints for other parts of the system to communicate information "hints" to demand scan. NOTES : DSCINPUT fields are NOT serialized, by the demand scan lock or anything else. 0004 4 Bitstring 1 * Reserved The following bytes are used to make sure that only one CPEBK is stacked for a deferred call to various places. 0005 5 Bitstring 1 DSCLANLK Indicate that the deferred call to HCPLANRS has been stacked 0006 6 Bitstring 1 DSCFMVLK Indicate that the deferred call to HCPFMVDS has been stacked 0007 7 Bitstring 1 * Reserved 0008 8 Bitstring 1 * reserved 0009 9 Bitstring 1 DSCALRDS A deferred call to HCPALRDS is either stacked or running 000A 10 Bitstring 1 * (6) reserved 0010 16 Signed 4 DSCCYCL Count the number of scan cycles 0014 20 Signed 4 * Reserved These fields apply to the current Demand Scan. 0018 24 Signed 4 * (2) Reserved Output from subroutine CALCMORE in HCPALU. Updated by CALCMORE. Not changed until the next call to CALCMORE. These are "type-any" needs and represent a current need. (I.E. Deficit numbers are not factored in.) 0020 32 Dbl-Word 8 DSCREQSingles Singles Frames needed. 0028 40 Dbl-Word 8 DSCREQContigs Contigs Frames needed. 0030 48 Dbl-Word 8 DSCSTLW (0) Steal Write counters (Low/High) 0030 48 Signed 4 DSCSTLW0 Steal Write frames BELOW 2Gb 0034 52 Signed 4 DSCSTLWG Steal Write frames 2Gb and ABOVE 0038 56 Signed 4 DSCSTLP0 Steal Write PGMBKs BELOW 2Gb 003C 60 Signed 4 DSCSTLPG Steal Write PGMBKs 2Gb and ABOVE 00000010 DSCSTLWL *-DSCSTLW Length of all STL fields 0040 64 Dbl-Word 8 * Reserved 0048 72 Dbl-Word 8 * Reserved 0050 80 Dbl-Word 8 * Reserved 0058 88 Dbl-Word 8 * Reserved 0060 96 Signed 4 * Reserved 0064 100 Signed 4 DSCRLRDV Stack of CPEBKs to be redriven by Demand Scan after DPPL processing. Serialized by CS. Relocations push a CPEBK onto this stack; Demand Scan harvests entire stack at once. Init'd and reset to 0; Demand Scan sets to -1 to tell relos to open a PTIL window; contains CPEBK addr when at least one relo is waiting to be redriven by Demand Scan. CPEBKs chained by CPEXFPNT and terminated by -1. DSCPGMC0/CG account for the PGMBK frames put on the DPPL by PGMBK Steal. They do not include any frames put on the DPPL by other tasks, nor is there a guarantee the frames will be reclaimable when the DPPL is processed. These counts are purely an estimate of reclaimable frames that are used in the need calculation in an effort to avoid over stealing. Given their "fuzzy" nature, the counts are cleared each time PGMBK Steal processes the DPPL because either the frames were successfully reclaimed (and will therefore be included in the available frame counts) or they could not be reclaimed and may not even reside on the DPPL any longer (in which case we would not want to count them in the need calculation). 0068 104 Signed 4 DSCPGMC0 PGMBKs <2G put on the DPPL by PGMBK steal since the last time the DPPL was processed by PGMBK steal. This count is in frames, so it is 2x the count of PGMBKs. 006C 108 Signed 4 DSCPGMCG PGMBKs >=2G put on the DPPL by PGMBK steal since the last time the DPPL was processed by PGMBK steal. This count is in frames, so it is 2x the count of PGMBKs. 0070 112 Signed 4 * Reserved These fields are primarily for diagnostic purposes. They should not affect the operation of Demand Scan. 0074 116 Bitstring 1 DSCDEBUG Debug Flags 1... .... DSCACTIV X'80' DSCACTIV Demand Scan is ACTIVE 0075 117 Bitstring 3 * reserved 0078 120 Signed 4 DSCCOUNT Count the number of times we entered Demand Scan (HCPALDSC) 007C 124 Signed 4 * Reserved 0080 128 Address 4 DSCWHOCM Last caller of CALCMORE routine 0084 132 Address 4 DSCWHOEX Previous HCPCALL before CALCMORE 0088 136 Signed 4 DSCANYDB <>2G frames (frames that can be anywhere) that were allocated to the <2G need. (Demand Below) 008C 140 Signed 4 DSCANYDA <>2G frames that were allocated to the >2G need. (Demand Above) 0090 144 Signed 8 DSCRLOWS Time stamp of the last time DSCRLRDV was set to -1. 0098 152 Signed 8 DSCRLOWR Time stamp of the last time DSCRLRDV was reset to 0. 00A0 160 Dbl-Word 8 * Reserved 00A8 168 Dbl-Word 8 * Reserved 00B0 176 Signed 4 * Reserved 00B4 180 Signed 4 DSCALSKF Times an Aging List page was not taken (i.e. was skipped) because we couldn't get frame ser. 00B8 184 Signed 4 DSCALSKP Times an Aging List page was not taken (i.e. was skipped) because we couldn't get PTE serializ. 00BC 188 Signed 4 * Reserved 00C0 192 Signed 4 * Reserved 00C4 196 Signed 4 * Reserved Communication from the frame manager to subroutine CALCMORE. 00C8 200 Dbl-Word 8 DSCRSingles (Rate) Need for type any singles. 00D0 208 Dbl-Word 8 DSCRContigs (Rate) Need for type any contigs. CALCMORE data area. These values represent harvested rate based information. 00D8 216 Dbl-Word 8 DSCHSingles (Rate) Harvested need for singles. 00E0 224 Dbl-Word 8 DSCHContigs (Rate) Harvested need for contigs. These values are the rate based need to use for the current call to CALCMORE. (Either DSCHSingles at the beginning of a new Demand scan. Or a Delta at the end of a Demand scan.) 00E8 232 Dbl-Word 8 DSCNSingles Rate based need for singles. 00F0 240 Dbl-Word 8 DSCNContigs Rate based need for contigs. "Who invoked demand scan" data: 00F8 248 Signed 4 DSCwhoFg (0) 00F8 248 Bitstring 1 DSCwhoRq Who invoked demand scan debug - all requestors 00F9 249 Bitstring 1 DSCwhoFl Who invoked demand scan debug - who actually flagpoled Equates for DSCwhoRq and DSCwhoFl 1... .... DSCwhoDSEW X'80' ALD/G DSEarlyWrite .1.. .... DSCwhoDSRS X'40' ALDSC DSRestart ..1. .... DSCwhoTHRS X'20' ALUDS Threshold ...1 .... DSCwhoAGRV X'10' PFR AgingRevals .... 1... DSCwhoFRDF X'08' PTF FrameReqDefer .... .1.. DSCwhoLGR X'04' RLT LGR *cmnt** EQU X'02' reserved *cmnt** EQU X'01' reserved 00FA 250 Bitstring 1 * (2) Reserved for DSCwhoFg expansion, must remain 0s Array of counts of times each task attempted to flag Demand scan to start: 00FC 252 Signed 4 DSCwhoCtArray (8) 00FC 252 Signed 4 DSCwhoCtDSEW ALD/G DSEarlyWrite 0100 256 Signed 4 DSCwhoCtDSRS ALDSC DSRestart 0104 260 Signed 4 DSCwhoCtTHRS ALUDS DSThreshold 0108 264 Signed 4 DSCwhoCtAGRV PFR AgingRevals 010C 268 Signed 4 DSCwhoCtFRDF PTF FrameReqDefer 0110 272 Signed 4 DSCwhoCtLGR RLT LGR 0114 276 Signed 4 * reserved 0118 280 Signed 4 * reserved 011C 284 Bitstring 1 DSC$END (0) End of DSCBK 0000011C DSCBKLN *-DSCBK DSCBK length (in bytes) 00000024 DSCBKSZ (*-DSCBK+7)/8 DSCBK size (in doublewords)
 
 
  DSCBK Storage Layout Top of page
 
          
*** DSCBK - Demand Scan Control Block
*
*     +--------------------+------+------+------+------+------+
*   0 |////////////////////|:XSTFL|//////|:LANLK|:FMVLK|//////|
*     +------+------+------+------+------+------+------+------+
*   8 |//////|:ALRDS|/////////////////////////////////////////|
*     +------+------+-------------+---------------------------+
*  10 |         DSCCYCL           |///////////////////////////|
*     +---------------------------+---------------------------+
*  18 |///////////////////////////////////////////////////////|
*     +-------------------------------------------------------+
*  20 |                    DSCREQSINGLES                      |
*     +-------------------------------------------------------+
*  28 |                    DSCREQCONTIGS                      |
*     +---------------------------+---------------------------+
*  30 |         DSCSTLW0          |         DSCSTLWG          |
*     +---------------------------+---------------------------+
*  38 |         DSCSTLP0          |         DSCSTLPG          |
*     +---------------------------+---------------------------+
*  40 |///////////////////////////////////////////////////////|
*     +-------------------------------------------------------+
*  48 |///////////////////////////////////////////////////////|
*     +-------------------------------------------------------+
*  50 |///////////////////////////////////////////////////////|
*     +-------------------------------------------------------+
*  58 |///////////////////////////////////////////////////////|
*     +---------------------------+---------------------------+
*  60 |///////////////////////////|         DSCRLRDV          |
*     +---------------------------+---------------------------+
*  68 |         DSCPGMC0          |         DSCPGMCG          |
*     +---------------------------+------+--------------------+
*  70 |///////////////////////////|:DEBUG|////////////////////|
*     +---------------------------+------+--------------------+
*  78 |         DSCCOUNT          |///////////////////////////|
*     +---------------------------+---------------------------+
*  80 |         DSCWHOCM          |         DSCWHOEX          |
*     +---------------------------+---------------------------+
*  88 |         DSCANYDB          |         DSCANYDA          |
*     +---------------------------+---------------------------+
*  90 |                       DSCRLOWS                        |
*     +-------------------------------------------------------+
*  98 |                       DSCRLOWR                        |
*     +-------------------------------------------------------+
*  A0 |///////////////////////////////////////////////////////|
*     +-------------------------------------------------------+
*  A8 |///////////////////////////////////////////////////////|
*     +---------------------------+---------------------------+
*  B0 |///////////////////////////|         DSCALSKF          |
*     +---------------------------+---------------------------+
*  B8 |         DSCALSKP          |///////////////////////////|
*     +---------------------------+---------------------------+
*  C0 |///////////////////////////|///////////////////////////|
*     +---------------------------+---------------------------+
*  C8 |                     DSCRSINGLES                       |
*     +-------------------------------------------------------+
*  D0 |                     DSCRCONTIGS                       |
*     +-------------------------------------------------------+
*  D8 |                     DSCHSINGLES                       |
*     +-------------------------------------------------------+
*  E0 |                     DSCHCONTIGS                       |
*     +-------------------------------------------------------+
*  E8 |                     DSCNSINGLES                       |
*     +-------------------------------------------------------+
*  F0 |                     DSCNCONTIGS                       |
*     +------+------+-------------+---------------------------+
*  F8 |:WHORQ|:WHOFL|/////////////|                           |
*     +------+------+-------------+                           |
* 100 |                                                       |
*     =                    DSCWHOCTARRAY                      =
*     |                           +---------------------------+
*     |                           | 11C
*     +---------------------------+
*
*** DSCBK - Demand Scan Control Block
          
*** Overlay for DSCwhoCtArray in DSCBK
*
*                                 +---------------------------+
*  F8 ...                      FC |       DSCWHOCTDSEW        |
*     +---------------------------+---------------------------+
* 100 |       DSCWHOCTDSRS        |       DSCWHOCTTHRS        |
*     +---------------------------+---------------------------+
* 108 |       DSCWHOCTAGRV        |       DSCWHOCTFRDF        |
*     +---------------------------+---------------------------+
* 110 |       DSCWHOCTLGR         |///////////////////////////|
*     +---------------------------+---------------------------+
* 118 |///////////////////////////|
*     +---------------------------+
*
*** Overlay for DSCwhoCtArray in DSCBK
 
 
  DSCBK Cross Reference Top of page
 
 
Symbol         Dspl Value
-------------- ---- -----
DSC$END        011C
DSCwhoAGRV     00F9 10
DSCwhoCtArray  00FC
DSCwhoCtAGRV   0108
DSCwhoCtDSEW   00FC
DSCwhoCtDSRS   0100
DSCwhoCtFRDF   010C
DSCwhoCtLGR    0110
DSCwhoCtTHRS   0104
DSCwhoDSEW     00F9 80
DSCwhoDSRS     00F9 40
DSCwhoFg       00F8
DSCwhoFl       00F9
DSCwhoFRDF     00F9 08
DSCwhoLGR      00F9 04
DSCwhoRq       00F8
DSCwhoTHRS     00F9 20
DSCACTIV       0074 80
DSCALRDS       0009
DSCALSKF       00B4
DSCALSKP       00B8
DSCANYDA       008C
DSCANYDB       0088
DSCBKLN        011C 0000011C
DSCBKSZ        011C 00000024
DSCCOUNT       0078
DSCCYCL        0010
DSCDEBUG       0074
DSCFMVLK       0006
DSCHContigs    00E0
DSCHSingles    00D8
DSCINPUT       0004
DSCLANLK       0005
DSCNContigs    00F0
DSCNSingles    00E8
DSCPGMCG       006C
DSCPGMC0       0068
DSCRContigs    00D0
DSCREQContigs  0028
DSCREQSingles  0020
DSCRLOWR       0098
DSCRLOWS       0090
DSCRLRDV       0064
DSCRSingles    00C8
DSCSTLPG       003C
DSCSTLP0       0038
DSCSTLW        0030
DSCSTLWG       0034
DSCSTLWL       003C 00000010
DSCSTLW0       0030
DSCWHOCM       0080
DSCWHOEX       0084
DSCWORD        0000
DSCXSTFL       0003
DSCXSTOR       0003 80
 
This information is based on z/VM 6.3.0 Last updated on 22 May 2013 at 13:54:19 EDT.
Copyright IBM Corporation, 1990, 2013