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
     Status     : /VM   Version 5, Release 2.0
     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 ....      DSCA2GRF       X'10' DSCA2GPP is set and the
                                            frame being processed is above 2G
                                            - ignore referenced criteria
                                            policy, take even if referenced
              .... ...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
    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 DSCINPB0
              1... ....      DSCSFCTG       X'80' Single frame allocation has
                                            reached into the contiguous
                                            portion of the available list
                                            since the last time we checked.
              .1.. ....      DSCCNTGR       X'40' Contiguous frames have been
                                            returned to the back of the
                                            available list since the last
                                            time demand scan zeroed this
                                            flag. The following three bytes
                                            are used to make sure that only
                                            one CPEBK is stacked for the
                                            deferred call to HCPLANRS,
                                            HCPFMVDS, or HCPFMVDS with
                                            emergency.
    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 DSCFMVEL       Indicate that the deferred call
                                            to HCPFMVDS with emergency has
                                            been stacked.
          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.
    0008    8 Signed       4 DSCCYCL        Count the number of scan cycles
    000C   12 Address      4 DSCELEM        Address of next scan element (see
                                            HCPALD SCANELEM structure)
          These fields apply to the current Demand Scan.
    0010   16 Signed       4 DSCTOTAL       Total pages stolen by the current
                                            Demand Scan process
    0014   20 Signed       4 *              Reserved for IBM use
    0018   24 Dbl-Word     8 DSCREQD (0)    Frames needed by the system
    0018   24 Signed       4 DSCREQD0       Frames needed from BELOW 2Gb
    001C   28 Signed       4 DSCREQDG       Frames needed from 2G and ABOVE
    0020   32 Dbl-Word     8 DSCTRGT (0)    Target frame limit (Low/High)
    0020   32 Signed       4 DSCTRGT0       Target frames from BELOW 2Gb
    0024   36 Signed       4 DSCTRGTG       Target frames from 2Gb and ABOVE
    0028   40 Dbl-Word     8 DSCFRMS (0)    Frame counters (Low/High)
    0028   40 Signed       4 DSCFRMS0       Frames stolen from BELOW 2Gb
    002C   44 Signed       4 DSCFRMSG       Frames stolen from 2Gb and ABOVE
    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 Address      8 DSCIOLFW       I/O FRMTE list forward pointer
    0040   64 Address      8 DSCIOLST       I/O FRMTE list last FRMTE
    0048   72 Address      8 DSCAVLLF       Immediately available FRMTE list
                                            forward pointer
    0050   80 Address      8 DSCPGMLF       PGMBK FRMTE list forward pointer
    0058   88 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.
    005C   92 Bitstring    1 DSCDEBUG       Debug Flags
              1... ....      DSCACTIV       X'80' Demand Scan is ACTIVE
    005D   93 Bitstring    3 *              reserved
    0060   96 Signed       4 DSCCOUNT       Count the number of times we
                                            entered Demand Scan (HCPALDSC)
    0064  100 Bitstring    1 DSCALSCN       Track our progress in HCPALSCN
    0065  101 Bitstring    1 DSCALSCS       Track our progress in HCPALSCS
    0066  102 Bitstring    1 DSCALSCD       Track our progress in HCPALSCD
    0067  103 Bitstring    5 *              Reserved
    006C  108 Address      4 DSCWHOCM       Last caller of CALCMORE routine
    0070  112 Address      4 DSCWHOEX       Previous HCPCALL before CALCMORE
    0074  116 Bitstring    1 DSC$END (0)    End of DSCBK
              00000074       DSCBKLN        *-DSCBK DSCBK length (in bytes)
              0000000F       DSCBKSZ        (*-DSCBK+7)/8 DSCBK size (in
                                            doublewords)

#### DSCBK Storage Layout

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

#### DSCBK Cross Reference

    Symbol         Dspl Value
    -------------- ---- -----
    DSC$END        0074
    DSCACTIV       005C 80
    DSCAGAIN       0002 01
    DSCALSCD       0066
    DSCALSCN       0064
    DSCALSCS       0065
    DSCAVLLF       0048
    DSCA2GPP       0000 01
    DSCA2GRF       0002 10
    DSCBKLN        0074 00000074
    DSCBKSZ        0074 0000000F
    DSCCNTGR       0004 40
    DSCCOUNT       0060
    DSCCYCL        0008
    DSCDEBUG       005C
    DSCDFRCT       0001 10
    DSCDLSCN       0000 04
    DSCDONE        0002 00
    DSCELEM        000C
    DSCEMRGP       0000 20
    DSCFMVEL       0007
    DSCFMVLK       0006
    DSCFRMS        0028
    DSCFRMSG       002C
    DSCFRMS0       0028
    DSCINPB0       0004
    DSCINPUT       0004
    DSCIOLFW       0038
    DSCIOLST       0040
    DSCLANLK       0005
    DSCLKFLG       0001
    DSCLTD         0000 10
    DSCLTDHX       0000 08
    DSCNOXST       0003 00
    DSCPAGQC       0058
    DSCPASS1       0000 80
    DSCPASS2       0000 40
    DSCPGMLF       0050
    DSCPROG        0000
    DSCPTILK       0001 80
    DSCPTILS       0001 04
    DSCPTIL2       0001 40
    DSCPURGE       0002 20
    DSCRBINX       0002 80
    DSCREQD        0018
    DSCREQDG       001C
    DSCREQD0       0018
    DSCSFCTG       0004 80
    DSCSHDLK       0001 20
    DSCSHFRM       0001 08
    DSCSTLW        0030
    DSCSTLWG       0034
    DSCSTLW0       0030
    DSCTERM        0002
    DSCTKALL       0000 02
    DSCTOTAL       0010
    DSCTRGT        0020
    DSCTRGTG       0024
    DSCTRGT0       0020
    DSCUNREF       0002 40
    DSCWHOCM       006C
    DSCWHOEX       0070
    DSCWORD        0000
    DSCXSTFL       0003
    DSCXSTOR       0003 80

This information is based on z/VM V5R2.0. Last updated on 12 Apr 2006 at 16:51:38 EDT.
Copyright IBM Corporation, 1990, 2005