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

DSCBK

Prolog  

Control Block Contents  
   DSCBK DSECT

Storage Layout  

Cross Reference (Contains links to field and bit definitions)  


DSCBK Prolog

 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

 

DSCBK Control Block Content


DSCBK DSECT

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 DSCPROG        Indicate Demand Scan Progress
          1... ....      DSCPASS1       X'80' Working on the first pass
          .1.. ....      DSCPASS2       X'40' Working on the second pass
          ..1. ....      DSCEMRGP       X'20' Working on EMERGENCY pass
          ...1 ....      DSCLTD         X'10' Working on a user from the
                                        Long-Term Dormant List
          .... 1...      DSCLTDHX       X'08' This scan ended on a user
                                        from the Long-Term Dormant List
          .... .1..      DSCDLSCN       X'04' Scanning the Dormant List
          .... ..1.      DSCTKALL       X'02' Took ALL possible frames
                                        from the Dormant List VMDBK base
                                        address space (except locked or
                                        reserved frames).
          .... ...1      DSCA2GPP       X'01' Stealing >=2G frames to
                                        relieve <2G resident pageable
                                        PGMBK pressure. Causes steal of
                                        >= 2G frames to begin /
                                        continue even if there is no
                                        >=2G system need (DSCREQDG=0)
0001    1 Bitstring    1 DSCLKFLG       Contains only lock status and is
                                        cleared in RELLOCKS subroutine in
                                        module HCPALS.
          1... ....      DSCPTILK       X'80' Demand Scan owns the Page
                                        Table Lock (VMDPTIL) now.
          .1.. ....      DSCPTIL2       X'40' Indicate we obtained
                                        VMDPTIL in the INVAL routine (in
                                        HCPALS).
          ..1. ....      DSCSHDLK       X'20' Demand Scan owns the Shadow
                                        Table Lock (VMDSHDLK) now.
          ...1 ....      DSCDFRCT       X'10' Demand Scan has incremented
                                        the Deferred Work count.
          .... 1...      DSCSHFRM       X'08' Stealing shared frames,
                                        which means we must ALWAYS use
                                        IPTE.
          .... .1..      DSCPTILS       X'04' Note that VMDPTIL was
                                        obtained SHARED (verses
                                        EXCLUSIVE).
0002    2 Bitstring    1 DSCTERM        Flags to tell the Steal Task how
                                        to handle RABIs, Unreferenced
                                        frames, and end-of-scan.
          1... ....      DSCRBINX       X'80' Do NOT move RABIs to XSTORE
          .1.. ....      DSCUNREF       X'40' Take UNREFERENCED frames
                                        only
          ..1. ....      DSCPURGE       X'20' Perform a PTLB (Purge
                                        Translate Look-Aside Buffers).
          .... ...1      DSCAGAIN       X'01' Steal should re-invoke
                                        itself at the end of the current
                                        cycle.
          .... ....      DSCDONE        X'00' Do NOT try to restart
                                        Demand Scan at the end of the
                                        current cycle.
0003    3 Bitstring    1 DSCXSTFL       XSTORE management flags
          1... ....      DSCXSTOR       X'80' Try paging out to XSTORE
                                        before sending them to DASD
          .... ....      DSCNOXST       X'00' Page out directly to DASD
     The primary Demand Scan may be able to satisfy the system requirement
     without performing every possible scan. In order to drain frames from
     every possible source, a "Round Robin" algorithm is used to select a
     different scan routine each time Demand Scan runs. The pointer DSCELEM
     holds the address of the next scan element (a structure defined in
     HCPALD). The next scan will be performed by the routine associated with
     this scan element.
0004    4 Signed       4 DSCCYCL        Count the number of scan cycles
0008    8 Address      4 DSCELEM        Address of next scan element (see
                                        HCPALD SCANELEM structure)
     These fields apply to the current Demand Scan.
000C   12 Signed       4 DSCTOTAL       Total pages stolen by the current
                                        Demand Scan process
0010   16 Dbl-Word     8 DSCREQD (0)    Frames needed by the system
0010   16 Signed       4 DSCREQD0       Frames needed from BELOW 2Gb
0014   20 Signed       4 DSCREQDG       Frames needed from 2G and ABOVE
0018   24 Dbl-Word     8 DSCTRGT (0)    Target frame limit (Low/High)
0018   24 Signed       4 DSCTRGT0       Target frames from BELOW 2Gb
001C   28 Signed       4 DSCTRGTG       Target frames from 2Gb and ABOVE
0020   32 Dbl-Word     8 DSCFRMS (0)    Frame counters (Low/High)
0020   32 Signed       4 DSCFRMS0       Frames stolen from BELOW 2Gb
0024   36 Signed       4 DSCFRMSG       Frames stolen from 2Gb and ABOVE
0028   40 Dbl-Word     8 DSCSTLW (0)    Steal Write counters (Low/High)
0028   40 Signed       4 DSCSTLW0       Steal Write frames BELOW 2Gb
002C   44 Signed       4 DSCSTLWG       Steal Write frames 2Gb and ABOVE
0030   48 Address      4 DSCIOLFW       I/O FRMTE list forward pointer
0034   52 Address      4 DSCIOLST       I/O FRMTE list last FRMTE
0038   56 Address      4 DSCAVLLF       Immediately available FRMTE list
                                        forward pointer
003C   60 Address      4 DSCPGMLF       PGMBK FRMTE list forward pointer
0040   64 Signed       4 DSCPAGQC       Count of FRMTEs on I/O and PGMBK
                                        FRMTE lists
     These fields are primarily for diagnostic purposes. They should not
     affect the operation of Demand Scan.
0044   68 Bitstring    1 DSCDEBUG       Debug Flags
          1... ....      DSCACTIV       X'80' Demand Scan is ACTIVE
0045   69 Bitstring    3 *              reserved
0048   72 Signed       4 DSCCOUNT       Count the number of times we
                                        entered Demand Scan (HCPALDSC)
004C   76 Bitstring    1 DSCALSCN       Track our progress in HCPALSCN
004D   77 Bitstring    1 DSCALSCS       Track our progress in HCPALSCS
004E   78 Bitstring    1 DSCALSCD       Track our progress in HCPALSCD
004F   79 Bitstring    5 *              Reserved
0054   84 Address      4 DSCWHOCM       Last caller of CALCMORE routine
0058   88 Address      4 DSCWHOEX       Previous HCPCALL before CALCMORE
005C   92 Bitstring    1 DSC$END (0)    End of DSCBK
          0000005C       DSCBKLN        *-DSCBK DSCBK length (in bytes)
          0000000C       DSCBKSZ        (*-DSCBK+7)/8 DSCBK size (in
                                        doublewords)

 

DSCBK Storage Layout

          
*** DSCBK - Demand Scan Control Block
*
*     +------+------+------+------+---------------------------+
*   0 |:PROG |:LKFLG|:TERM |:XSTFL|         DSCCYCL           |
*     +------+------+------+------+---------------------------+
*   8 |         DSCELEM           |         DSCTOTAL          |
*     +---------------------------+---------------------------+
*  10 |         DSCREQD0          |         DSCREQDG          |
*     +---------------------------+---------------------------+
*  18 |         DSCTRGT0          |         DSCTRGTG          |
*     +---------------------------+---------------------------+
*  20 |         DSCFRMS0          |         DSCFRMSG          |
*     +---------------------------+---------------------------+
*  28 |         DSCSTLW0          |         DSCSTLWG          |
*     +---------------------------+---------------------------+
*  30 |         DSCIOLFW          |         DSCIOLST          |
*     +---------------------------+---------------------------+
*  38 |         DSCAVLLF          |         DSCPGMLF          |
*     +---------------------------+------+--------------------+
*  40 |         DSCPAGQC          |:DEBUG|////////////////////|
*     +---------------------------+------+------+------+------+
*  48 |         DSCCOUNT          |:ALSCN|:ALSCS|:ALSCD|//////|
*     +---------------------------+------+------+------+------+
*  50 |///////////////////////////|         DSCWHOCM          |
*     +---------------------------+---------------------------+
*  58 |         DSCWHOEX          |
*     +---------------------------+
*
*** DSCBK - Demand Scan Control Block

 

DSCBK Cross Reference

Symbol         Dspl Value
-------------- ---- -----
DSC$END        005C
DSCACTIV       0044 80
DSCAGAIN       0002 01
DSCALSCD       004E
DSCALSCN       004C
DSCALSCS       004D
DSCAVLLF       0038
DSCA2GPP       0000 01
DSCBKLN        005C 0000005C
DSCBKSZ        005C 0000000C
DSCCOUNT       0048
DSCCYCL        0004
DSCDEBUG       0044
DSCDFRCT       0001 10
DSCDLSCN       0000 04
DSCDONE        0002 00
DSCELEM        0008
DSCEMRGP       0000 20
DSCFRMS        0020
DSCFRMSG       0024
DSCFRMS0       0020
DSCIOLFW       0030
DSCIOLST       0034
DSCLKFLG       0001
DSCLTD         0000 10
DSCLTDHX       0000 08
DSCNOXST       0003 00
DSCPAGQC       0040
DSCPASS1       0000 80
DSCPASS2       0000 40
DSCPGMLF       003C
DSCPROG        0000
DSCPTILK       0001 80
DSCPTILS       0001 04
DSCPTIL2       0001 40
DSCPURGE       0002 20
DSCRBINX       0002 80
DSCREQD        0010
DSCREQDG       0014
DSCREQD0       0010
DSCSHDLK       0001 20
DSCSHFRM       0001 08
DSCSTLW        0028
DSCSTLWG       002C
DSCSTLW0       0028
DSCTERM        0002
DSCTKALL       0000 02
DSCTOTAL       000C
DSCTRGT        0018
DSCTRGTG       001C
DSCTRGT0       0018
DSCUNREF       0002 40
DSCWHOCM       0054
DSCWHOEX       0058
DSCWORD        0000
DSCXSTFL       0003
DSCXSTOR       0003 80

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