|
Programming Interface Information:
This information is NOT intended to be
used as Programming Interfaces of z/VM. |
DSVBK
Control Block Contents
DSVBK DSECT
Cross Reference (Contains links to field and bit definitions)
DSVBK Prolog
Name : HCPDSVBK
Description: DiSpatch Vector BlocK
DSECT : DSVBK
Function : The DSVBK maps the format of a Processor Local
Dispatch Vector (PLDV). There is one PLDV for each
real CPU, plus an additional one to contain Master-
Only work. This DSECT maps the storage defined in
the module HCPDSV.
Located by : HCPDSVMS is the address of the Master-Only PLDV.
HCPDSVST is the starting address of the other PLDVs.
They are contiguous in storage.
Created by : The PLDVs are DCed in module HCPDSV.
Deleted by : Never deleted
DSVBK Control Block Content
DSVBK DSECT
Hex Dec Type/Val Lng Label (dup) Comments
---- ---- --------- ---- -------------- --------
0000 0 Structure DSVBK DiSpatch Vector BlocK
Format of the header:
00000000 DSVHEADR * Base value to be used when
referencing the PLDV header.
0000 0 Bitstring 1 DSVHDWKB Byte of Work Bits
1... .... DSVDSCAN X'80' A Steal Task may need to be
started
0001 1 Bitstring 1 DSVHDFLG Flag byte for PLDV status
1... .... DSVHDOFL X'80' Set when PLDV has
"overflowed"
.1.. .... DSVTIDLE X'40' Set to indicate that a scan
should be made of the test-idle
users by HCPDSP.
...1 .... DSVIMBAL X'10' Possible processor workload
imbalance
.... 1... DSVNOPTL X'08' We could not obtain the
PTIL lock for any of the VMDBKs
in the master-only PLDV.
0002 2 Address 1 DSVHDFRE Anchor of the "entries not in
use" queue.
0003 3 Address 1 DSVHDWRK Anchor of the "entries in use"
queue.
0004 4 Bitstring 2 DSVBR14 THIS IS REALLY THE FOLLOWING:
*CMNT** BR R14 INSTRUCTION TO
CAUSE A READ- ONLY REQUEST OF
STORAGE.
0006 6 Address 1 DSVLSTEN Last entry in the PLDV
0007 7 Address 1 * Reserved for future IBM use
0008 8 Signed 4 DSVLOREJ Lowest-value (best) priority
which was rejected from this PLDV
000C 12 Signed 2 DSVUSERC User count - number of VMDBKS in
this PLDV
000E 14 Signed 2 * Reserved for future IBM use
00000010 DSVHDLEN *-DSVHEADR Length in bytes of the
PLDV header.
Format of each entry:
00000010 DSVENTRY * Base value to be use when
referencing a PLDV entry.
0010 16 Address 3 DSVVMDBK Bits 0 to 19 of the user's VMDBK
address. Bits 20 to 31 are known
to be zero and need not be stored
in the Vector entry.
1... .... DSVINUSE X'80' High-order bit is set when
the PLDV entry is "in use",
whenever the entry is in the
chain starting from DSVHDWRK.
0012 18 Bitstring 1 DSVFLAGS A flag nibble
.... 1... DSVNOSTL X'08' Set when work MUST not be
stolen, in order to respect
VMDBK's affinity requirements
0013 19 Address 1 DSVFPNT Forward pointer to next entry in
queue. Zero if this is the last
entry.
0014 20 Signed 4 DSVPRIOR A representation of this VMDBK's
priority in the dispatch list.
The value in this field is a
function of the VMDBK's VMDDPRTY.
00000008 DSVENTLN *-DSVENTRY Length in bytes of a
PLDV entry
0000000E DSVMAXUS 14 Maximum number of users in a
PLDV
00000080 DSVLEN DSVHDLEN+DSVMAXUS*DSVENTLN Length
in bytes of a PLDV.
00000010 DSVSIZE (DSVLEN+7)/8 Size in doublewords
of a PLDV
DSVBK Storage Layout
*** DSVBK - DiSpatch Vector BlocK
*
* +------+------+------+------+-------------+------+------+
* 0 |:HDWKB|:HDFLG|:HDFRE|:HDWRK| DSVBR14 |:LSTEN|//////|
* +------+------+------+------+-------------+------+------+
* 8 | DSVLOREJ | DSVUSERC |/////////////|
* +--------------------+------+-------------+-------------+
* 10 | DSVVMDBK | 13
* +--------------------+
*
*** DSVBK - DiSpatch Vector BlocK
*** Overlay for DSVVMDBK+2 in DSVBK
*
* +------+------+---------------------------+
* 10 ... 12 |:FLAGS|:FPNT | DSVPRIOR |
* +------+------+---------------------------+
* 18
*
*** Overlay for DSVVMDBK+2 in DSVBK
DSVBK Cross Reference
Symbol Dspl Value -------------- ---- ----- DSVBR14 0004 DSVDSCAN 0000 80 DSVENTLN 0014 00000008 DSVENTRY 000E 00000010 DSVFLAGS 0012 DSVFPNT 0013 DSVHDFLG 0001 DSVHDFRE 0002 DSVHDLEN 000E 00000010 DSVHDOFL 0001 80 DSVHDWKB 0000 DSVHDWRK 0003 DSVHEADR 0000 00000000 DSVIMBAL 0001 10 DSVINUSE 0010 80 DSVLEN 0014 00000080 DSVLOREJ 0008 DSVLSTEN 0006 DSVMAXUS 0014 0000000E DSVNOPTL 0001 08 DSVNOSTL 0012 08 DSVPRIOR 0014 DSVSIZE 0014 00000010 DSVTIDLE 0001 40 DSVUSERC 000C DSVVMDBK 0010
Last updated on 5 Jun 2001 at 13:26:57 EDT.
Copyright IBM Corporation, 1990, 2001