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
 RELOCATION CONSIDERATIONS : 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' DSCPASS1 Working on the
                                        first pass
          .1.. ....      DSCPASS2       X'40' DSCPASS2 Working on the
                                        second pass
          ..1. ....      DSCEMRGP       X'20' DSCEMRGP Working on
                                        EMERGENCY pass
          ...1 ....      DSCLTD         X'10' DSCLTD Working on a user
                                        from the Long-Term Dormant List
          .... 1...      DSCLTDHX       X'08' DSCLTDHX This scan ended on
                                        a user from the Long-Term Dormant
                                        List
          .... .1..      DSCDLSCN       X'04' DSCDLSCN Scanning the
                                        Dormant List
          .... ..1.      DSCTKALL       X'02' DSCTKALL Took ALL possible
                                        frames from the Dormant List
                                        VMDBK base address space (except
                                        locked or reserved frames).
          .... ...1      DSCA2GPP       X'01' DSCA2GPP 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' DSCPTILK Demand Scan owns
                                        the Page Table Lock (VMDPTIL)
                                        now.
          .1.. ....      DSCPTIL2       X'40' DSCPTIL2 Indicate we
                                        obtained VMDPTIL in the INVAL
                                        routine (in HCPALS).
          ..1. ....      DSCSHDLK       X'20' DSCSHDLK Demand Scan owns
                                        the Shadow Table Lock (VMDSHDLK)
                                        now.
          ...1 ....      DSCDFRCT       X'10' DSCDFRCT Demand Scan has
                                        incremented the Deferred Work
                                        count.
          .... 1...      DSCSHFRM       X'08' DSCSHFRM Stealing shared
                                        frames, which means we must
                                        ALWAYS use IPTE.
          .... .1..      DSCPTILS       X'04' DSCPTILS Note that VMDPTIL
                                        was obtained SHARED (verses
                                        EXCLUSIVE).
0002    2 Bitstring    1 DSCSTAT        Demand scan status flags
          1... ....      DSCRBINX       X'80' DSCRBINX Do NOT move RABIs
                                        to XSTORE
          .1.. ....      DSCUNREF       X'40' DSCUNREF Take UNREFERENCED
                                        frames only
          ..1. ....      DSCPURGE       X'20' DSCPURGE Perform a PTLB
                                        (Purge Translate Look-Aside
                                        Buffers). DSCA2GRF removed
          .... 1...      DSCPGMFL       X'08' DSCPGMFL PGMBK steal
                                        (HCPALSPS) has used up paging
                                        capacity, so steal must stop for
                                        now.
          .... .1..      DSCRELOC       X'04' DSCRELOC Take only pages
                                        that are NOT relocation-changed
          .... ...1      DSCAGAIN       X'01' DSCAGAIN Steal should
                                        re-invoke itself at the end of
                                        the current cycle.
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 DSCINPB0
          1... ....      DSCSFCTG       X'80' DSCSFCTG Single frame
                                        allocation has reached into the
                                        contiguous portion of the
                                        available list since the last
                                        time we checked.
          .1.. ....      DSCCNTGR       X'40' DSCCNTGR Contiguous frames
                                        have been returned to the back of
                                        the available list since the last
                                        time demand scan zeroed this
                                        flag.
          ..1. ....      DSCPGMBK       X'20' DSCPGMBK PGMBK Steal
                                        requested. HCPALSPS will be
                                        invoked prior to normal demand
                                        scan of single frames The
                                        following four bytes are used to
                                        make sure that only one CPEBK is
                                        stacked for the deferred call to
                                        HCPLANRS, HCPFRQDS, 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.
0008    8 Bitstring    1 DSCFRQLK       A deferred call to HCPFRQDS is
                                        either stacked or running
0009    9 Bitstring    1 * (7)          reserved
      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.
0010   16 Signed       4 DSCCYCL        Count the number of scan cycles
0014   20 Address      4 DSCELEM        Address of next scan element (see
                                        HCPALD SCANELEM structure)
      These fields apply to the current Demand Scan.
0018   24 Signed       4 DSCTOTAL       Total pages stolen by the current
                                        Demand Scan process
001C   28 Signed       4 DSCPSSP        Single pages stolen thus far for
                                        PGMBK steal, which are not yet
                                        included in any steal write
                                        counts
0020   32 Dbl-Word     8 DSCREQD (0)    Frames needed by the system
0020   32 Signed       4 DSCREQD0       Frames needed from BELOW 2Gb
0024   36 Signed       4 DSCREQDG       Frames needed from 2G and ABOVE
0028   40 Signed       4 DSCREQC0       Cont frames needed from BELOW 2G
002C   44 Signed       4 DSCREQCG       Cont frames needed from ABOVE 2G
          00000010       DSCREQDL       *-DSCREQD Length of all REQ
                                        fields
0030   48 Dbl-Word     8 DSCTRGT (0)    Target frame limit (Low/High)
0030   48 Signed       4 DSCTRGT0       Target frames from BELOW 2Gb
0034   52 Signed       4 DSCTRGTG       Target frames from 2Gb and ABOVE
0038   56 Signed       4 DSCTRGC0       Cont target frames from BELOW 2G
003C   60 Signed       4 DSCTRGCG       Cont target frames from ABOVE 2G
          00000010       DSCTRGTL       *-DSCTRGT Length of all TRG
                                        fields
0040   64 Dbl-Word     8 DSCFRMS (0)    Frame counters (Low/High)
0040   64 Signed       4 DSCFRMS0       Frames stolen from BELOW 2Gb
0044   68 Signed       4 DSCFRMSG       Frames stolen from 2Gb and ABOVE
0048   72 Signed       4 DSCFRMC0       Cont frames stolen from BELOW 2G
004C   76 Signed       4 DSCFRMCG       Cont frames stolen from ABOVE 2G
          00000010       DSCFRMSL       *-DSCFRMS Length of all FRM
                                        fields
0050   80 Dbl-Word     8 DSCSTLW (0)    Steal Write counters (Low/High)
0050   80 Signed       4 DSCSTLW0       Steal Write frames BELOW 2Gb
0054   84 Signed       4 DSCSTLWG       Steal Write frames 2Gb and ABOVE
0058   88 Signed       4 DSCSTLP0       Steal Write PGMBKs BELOW 2Gb
005C   92 Signed       4 DSCSTLPG       Steal Write PGMBKs 2Gb and ABOVE
          00000010       DSCSTLWL       *-DSCSTLW Length of all STL
                                        fields
0060   96 Address      8 DSCIOLFW       I/O FRMTE list forward pointer
0068  104 Address      8 DSCIOLST       I/O FRMTE list last FRMTE
0070  112 Address      8 DSCAVLLF       Immediately available FRMTE list
                                        forward pointer
0078  120 Address      8 DSCPGMLF       PGMBK FRMTE list forward pointer
0080  128 Signed       4 DSCPAGQC       Count of FRMTEs on I/O and PGMBK
                                        FRMTE lists
0084  132 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).
0088  136 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.
008C  140 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.
0090  144 Signed       4 *              Reserved
      These fields are primarily for diagnostic purposes.
      They should not affect the operation of Demand Scan.
0094  148 Bitstring    1 DSCDEBUG       Debug Flags
          1... ....      DSCACTIV       X'80' DSCACTIV Demand Scan is
                                        ACTIVE
0095  149 Bitstring    3 *              reserved
0098  152 Signed       4 DSCCOUNT       Count the number of times we
                                        entered Demand Scan (HCPALDSC)
009C  156 Bitstring    1 DSCALSCN       Track our progress in HCPALSCN
009D  157 Bitstring    1 DSCALSCS       Track our progress in HCPALSCS
009E  158 Bitstring    1 DSCALSCD       Track our progress in HCPALSCD
009F  159 Bitstring    1 *              Reserved
00A0  160 Address      4 DSCWHOCM       Last caller of CALCMORE routine
00A4  164 Address      4 DSCWHOEX       Previous HCPCALL before CALCMORE
00A8  168 Signed       4 DSCANYDB       <>2G frames (frames that
                                        can be anywhere) that were
                                        allocated to the <2G need.
                                        (Demand Below)
00AC  172 Signed       4 DSCANYDA       <>2G frames that were
                                        allocated to the >2G need.
                                        (Demand Above)
00B0  176 Dbl-Word     8 DSCTOTPB       Total amount of PGMBKs stolen
00B8  184 Dbl-Word     8 DSCPBKTM       Total time spent stealing PGMBKs
00C0  192 Signed       8 DSCRLOWS       Time stamp of the last time
                                        DSCRLRDV was set to -1.
00C8  200 Signed       8 DSCRLOWR       Time stamp of the last time
                                        DSCRLRDV was reset to 0.
00D0  208 Bitstring    1 DSC$END (0)    End of DSCBK
          000000D0       DSCBKLN        *-DSCBK DSCBK length (in bytes)
          0000001A       DSCBKSZ        (*-DSCBK+7)/8 DSCBK size (in
                                        doublewords)

 

DSCBK Storage Layout

          
*** DSCBK - Demand Scan Control Block
*
*     +------+------+------+------+------+------+------+------+
*   0 |:PROG |:LKFLG|:STAT |:XSTFL|:INPB0|:LANLK|:FMVLK|:FMVEL|
*     +------+------+------+------+------+------+------+------+
*   8 |:FRQLK|////////////////////////////////////////////////|
*     +------+--------------------+---------------------------+
*  10 |         DSCCYCL           |         DSCELEM           |
*     +---------------------------+---------------------------+
*  18 |         DSCTOTAL          |         DSCPSSP           |
*     +---------------------------+---------------------------+
*  20 |         DSCREQD0          |         DSCREQDG          |
*     +---------------------------+---------------------------+
*  28 |         DSCREQC0          |         DSCREQCG          |
*     +---------------------------+---------------------------+
*  30 |         DSCTRGT0          |         DSCTRGTG          |
*     +---------------------------+---------------------------+
*  38 |         DSCTRGC0          |         DSCTRGCG          |
*     +---------------------------+---------------------------+
*  40 |         DSCFRMS0          |         DSCFRMSG          |
*     +---------------------------+---------------------------+
*  48 |         DSCFRMC0          |         DSCFRMCG          |
*     +---------------------------+---------------------------+
*  50 |         DSCSTLW0          |         DSCSTLWG          |
*     +---------------------------+---------------------------+
*  58 |         DSCSTLP0          |         DSCSTLPG          |
*     +---------------------------+---------------------------+
*  60 |                       DSCIOLFW                        |
*     +-------------------------------------------------------+
*  68 |                       DSCIOLST                        |
*     +-------------------------------------------------------+
*  70 |                       DSCAVLLF                        |
*     +-------------------------------------------------------+
*  78 |                       DSCPGMLF                        |
*     +---------------------------+---------------------------+
*  80 |         DSCPAGQC          |         DSCRLRDV          |
*     +---------------------------+---------------------------+
*  88 |         DSCPGMC0          |         DSCPGMCG          |
*     +---------------------------+------+--------------------+
*  90 |///////////////////////////|:DEBUG|////////////////////|
*     +---------------------------+------+------+------+------+
*  98 |         DSCCOUNT          |:ALSCN|:ALSCS|:ALSCD|//////|
*     +---------------------------+------+------+------+------+
*  A0 |         DSCWHOCM          |         DSCWHOEX          |
*     +---------------------------+---------------------------+
*  A8 |         DSCANYDB          |         DSCANYDA          |
*     +---------------------------+---------------------------+
*  B0 |                       DSCTOTPB                        |
*     +-------------------------------------------------------+
*  B8 |                       DSCPBKTM                        |
*     +-------------------------------------------------------+
*  C0 |                       DSCRLOWS                        |
*     +-------------------------------------------------------+
*  C8 |                       DSCRLOWR                        |
*     +-------------------------------------------------------+
*
*** DSCBK - Demand Scan Control Block

 

DSCBK Cross Reference

Symbol         Dspl Value
-------------- ---- -----
DSC$END        00D0
DSCACTIV       0094 80
DSCAGAIN       0002 01
DSCALSCD       009E
DSCALSCN       009C
DSCALSCS       009D
DSCANYDA       00AC
DSCANYDB       00A8
DSCAVLLF       0070
DSCA2GPP       0000 01
DSCBKLN        00D0 000000D0
DSCBKSZ        00D0 0000001A
DSCCNTGR       0004 40
DSCCOUNT       0098
DSCCYCL        0010
DSCDEBUG       0094
DSCDFRCT       0001 10
DSCDLSCN       0000 04
DSCELEM        0014
DSCEMRGP       0000 20
DSCFMVEL       0007
DSCFMVLK       0006
DSCFRMCG       004C
DSCFRMC0       0048
DSCFRMS        0040
DSCFRMSG       0044
DSCFRMSL       004C 00000010
DSCFRMS0       0040
DSCFRQLK       0008
DSCINPB0       0004
DSCINPUT       0004
DSCIOLFW       0060
DSCIOLST       0068
DSCLANLK       0005
DSCLKFLG       0001
DSCLTD         0000 10
DSCLTDHX       0000 08
DSCPAGQC       0080
DSCPASS1       0000 80
DSCPASS2       0000 40
DSCPBKTM       00B8
DSCPGMBK       0004 20
DSCPGMCG       008C
DSCPGMC0       0088
DSCPGMFL       0002 08
DSCPGMLF       0078
DSCPROG        0000
DSCPSSP        001C
DSCPTILK       0001 80
DSCPTILS       0001 04
DSCPTIL2       0001 40
DSCPURGE       0002 20
DSCRBINX       0002 80
DSCRELOC       0002 04
DSCREQCG       002C
DSCREQC0       0028
DSCREQD        0020
DSCREQDG       0024
DSCREQDL       002C 00000010
DSCREQD0       0020
DSCRLOWR       00C8
DSCRLOWS       00C0
DSCRLRDV       0084
DSCSFCTG       0004 80
DSCSHDLK       0001 20
DSCSHFRM       0001 08
DSCSTAT        0002
DSCSTLPG       005C
DSCSTLP0       0058
DSCSTLW        0050
DSCSTLWG       0054
DSCSTLWL       005C 00000010
DSCSTLW0       0050
DSCTKALL       0000 02
DSCTOTAL       0018
DSCTOTPB       00B0
DSCTRGCG       003C
DSCTRGC0       0038
DSCTRGT        0030
DSCTRGTG       0034
DSCTRGTL       003C 00000010
DSCTRGT0       0030
DSCUNREF       0002 40
DSCWHOCM       00A0
DSCWHOEX       00A4
DSCWORD        0000
DSCXSTFL       0003
DSCXSTOR       0003 80

This information is based on z/VM V6R2.0. Last updated on 21 Nov 2011 at 11:00:20 EDT.
Copyright IBM Corporation, 1990, 2011