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