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 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
Copyright IBM Corporation, 1990, 2005