Programming Interface Information:
This information is NOT intended to be
used as Programming Interfaces of z/VM. |
DSCBK
Control Block Contents
DSCBK DSECT
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). 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 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
Last updated on 7 Jun 2001 at 11:10:30 EDT.
Copyright IBM Corporation, 1990, 2001