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' 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).
          ...1 ....      DSCA2GRF       X'10' DSCA2GRF DSCA2GPP is set
                                        and the frame being processed is
                                        above 2G - ignore referenced
                                        criteria policy, take even if
                                        referenced
          .... ...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 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 Signed       4 DSCREQC0       Cont frames needed from BELOW 2G
0024   36 Signed       4 DSCREQCG       Cont frames needed from ABOVE 2G
          00000010       DSCREQDL       *-DSCREQD Length of all REQ
                                        fields
0028   40 Dbl-Word     8 DSCTRGT (0)    Target frame limit (Low/High)
0028   40 Signed       4 DSCTRGT0       Target frames from BELOW 2Gb
002C   44 Signed       4 DSCTRGTG       Target frames from 2Gb and ABOVE
0030   48 Signed       4 DSCTRGC0       Cont target frames from BELOW 2G
0034   52 Signed       4 DSCTRGCG       Cont target frames from ABOVE 2G
          00000010       DSCTRGTL       *-DSCTRGT Length of all TRG
                                        fields
0038   56 Dbl-Word     8 DSCFRMS (0)    Frame counters (Low/High)
0038   56 Signed       4 DSCFRMS0       Frames stolen from BELOW 2Gb
003C   60 Signed       4 DSCFRMSG       Frames stolen from 2Gb and ABOVE
0040   64 Signed       4 DSCFRMC0       Cont frames stolen from BELOW 2G
0044   68 Signed       4 DSCFRMCG       Cont frames stolen from ABOVE 2G
          00000010       DSCFRMSL       *-DSCFRMS Length of all FRM
                                        fields
0048   72 Dbl-Word     8 DSCSTLW (0)    Steal Write counters (Low/High)
0048   72 Signed       4 DSCSTLW0       Steal Write frames BELOW 2Gb
004C   76 Signed       4 DSCSTLWG       Steal Write frames 2Gb and ABOVE
0050   80 Signed       4 DSCSTLP0       Steal Write PGMBKs BELOW 2Gb
0054   84 Signed       4 DSCSTLPG       Steal Write PGMBKs 2Gb and ABOVE
          00000010       DSCSTLWL       *-DSCSTLW Length of all STL
                                        fields
0058   88 Address      8 DSCIOLFW       I/O FRMTE list forward pointer
0060   96 Address      8 DSCIOLST       I/O FRMTE list last FRMTE
0068  104 Address      8 DSCAVLLF       Immediately available FRMTE list
                                        forward pointer
0070  112 Address      8 DSCPGMLF       PGMBK FRMTE list forward pointer
0078  120 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.
007C  124 Bitstring    1 DSCDEBUG       Debug Flags
          1... ....      DSCACTIV       X'80' DSCACTIV Demand Scan is
                                        ACTIVE
007D  125 Bitstring    3 *              reserved
0080  128 Signed       4 DSCCOUNT       Count the number of times we
                                        entered Demand Scan (HCPALDSC)
0084  132 Bitstring    1 DSCALSCN       Track our progress in HCPALSCN
0085  133 Bitstring    1 DSCALSCS       Track our progress in HCPALSCS
0086  134 Bitstring    1 DSCALSCD       Track our progress in HCPALSCD
0087  135 Bitstring    5 *              Reserved
008C  140 Address      4 DSCWHOCM       Last caller of CALCMORE routine
0090  144 Address      4 DSCWHOEX       Previous HCPCALL before CALCMORE
0094  148 Signed       4 DSCANYDB       <>2G frames (frames that
                                        can be anywhere) that were
                                        allocated to the <2G need.
                                        (Demand Below)
0098  152 Signed       4 DSCANYDA       <>2G frames that were
                                        allocated to the >2G need.
                                        (Demand Above)
00A0  160 Dbl-Word     8 DSCTOTPB       Total amount of PGMBKs stolen
00A8  168 Dbl-Word     8 DSCPBKTM       Total time spent stealing PGMBKs
00B0  176 Bitstring    1 DSC$END (0)    End of DSCBK
          000000B0       DSCBKLN        *-DSCBK DSCBK length (in bytes)
          00000016       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 |         DSCCYCL           |         DSCELEM           |
*     +---------------------------+---------------------------+
*  10 |         DSCTOTAL          |///////////////////////////|
*     +---------------------------+---------------------------+
*  18 |         DSCREQD0          |         DSCREQDG          |
*     +---------------------------+---------------------------+
*  20 |         DSCREQC0          |         DSCREQCG          |
*     +---------------------------+---------------------------+
*  28 |         DSCTRGT0          |         DSCTRGTG          |
*     +---------------------------+---------------------------+
*  30 |         DSCTRGC0          |         DSCTRGCG          |
*     +---------------------------+---------------------------+
*  38 |         DSCFRMS0          |         DSCFRMSG          |
*     +---------------------------+---------------------------+
*  40 |         DSCFRMC0          |         DSCFRMCG          |
*     +---------------------------+---------------------------+
*  48 |         DSCSTLW0          |         DSCSTLWG          |
*     +---------------------------+---------------------------+
*  50 |         DSCSTLP0          |         DSCSTLPG          |
*     +---------------------------+---------------------------+
*  58 |                       DSCIOLFW                        |
*     +-------------------------------------------------------+
*  60 |                       DSCIOLST                        |
*     +-------------------------------------------------------+
*  68 |                       DSCAVLLF                        |
*     +-------------------------------------------------------+
*  70 |                       DSCPGMLF                        |
*     +---------------------------+------+--------------------+
*  78 |         DSCPAGQC          |:DEBUG|////////////////////|
*     +---------------------------+------+------+------+------+
*  80 |         DSCCOUNT          |:ALSCN|:ALSCS|:ALSCD|//////|
*     +---------------------------+------+------+------+------+
*  88 |///////////////////////////|         DSCWHOCM          |
*     +---------------------------+---------------------------+
*  90 |         DSCWHOEX          |         DSCANYDB          |
*     +---------------------------+---------------------------+
*  98 |         DSCANYDA          |///////////////////////////|
*     +---------------------------+---------------------------+
*  A0 |                       DSCTOTPB                        |
*     +-------------------------------------------------------+
*  A8 |                       DSCPBKTM                        |
*     +-------------------------------------------------------+
*
*** DSCBK - Demand Scan Control Block

 

DSCBK Cross Reference

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

This information is based on z/VM V5R3.0. Last updated on 25 Jun 2007 at 16:23:21 EDT.
Copyright IBM Corporation, 1990, 2007