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
     COPYRIGHT -
                  THIS MODULE IS "RESTRICTED MATERIALS OF IBM"
                  5739-A03 (C) COPYRIGHT IBM CORP. - 2001, 2002
                  LICENSED MATERIALS - PROPERTY OF IBM
     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
         These fields are primarily for diagnostic purposes. They should not
         affect the operation of Demand Scan.
    0030   48 Bitstring    1 DSCDEBUG       Debug Flags
              1... ....      DSCACTIV       X'80' Demand Scan is ACTIVE
    0031   49 Bitstring    3 *              reserved
    0034   52 Signed       4 DSCCOUNT       Count the number of times we
                                            entered Demand Scan (HCPALDSC)
    0038   56 Bitstring    1 DSCALSCN       Track our progress in HCPALSCN
    0039   57 Bitstring    1 DSCALSCS       Track our progress in HCPALSCS
    003A   58 Bitstring    1 DSCALSCD       Track our progress in HCPALSCD
    003B   59 Bitstring    5 *              Reserved
    0040   64 Address      4 DSCWHOCM       Last caller of CALCMORE routine
    0044   68 Address      4 DSCWHOEX       Previous HCPCALL before CALCMORE
    0048   72 Bitstring    1 DSC$END (0)    End of DSCBK
              00000048       DSCBKLN        *-DSCBK DSCBK length (in bytes)
              00000009       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 |:DEBUG|////////////////////|         DSCCOUNT          |
    *     +------+------+------+------+---------------------------+
    *  38 |:ALSCN|:ALSCS|:ALSCD|//////////////////////////////////|
    *     +------+------+------+------+---------------------------+
    *  40 |         DSCWHOCM          |         DSCWHOEX          |
    *     +---------------------------+---------------------------+
    *
    *** DSCBK - Demand Scan Control Block

#### DSCBK Cross Reference

    Symbol         Dspl Value
    -------------- ---- -----
    DSC$END        0048
    DSCACTIV       0030 80
    DSCAGAIN       0002 01
    DSCALSCD       003A
    DSCALSCN       0038
    DSCALSCS       0039
    DSCA2GPP       0000 01
    DSCBKLN        0048 00000048
    DSCBKSZ        0048 00000009
    DSCCOUNT       0034
    DSCCYCL        0004
    DSCDEBUG       0030
    DSCDFRCT       0001 10
    DSCDLSCN       0000 04
    DSCDONE        0002 00
    DSCELEM        0008
    DSCEMRGP       0000 20
    DSCFRMS        0020
    DSCFRMSG       0024
    DSCFRMS0       0020
    DSCLKFLG       0001
    DSCLTD         0000 10
    DSCLTDHX       0000 08
    DSCNOXST       0003 00
    DSCPASS1       0000 80
    DSCPASS2       0000 40
    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       0040
    DSCWHOEX       0044
    DSCWORD        0000
    DSCXSTFL       0003
    DSCXSTOR       0003 80

This information is based on z/VM V4R3.0. Last updated on 1 May 2002 at 08:36:16 EDT.
Copyright IBM Corporation, 1990, 2002