Programming Interface Information: This information is NOT intended to be
used as Programming Interfaces of z/VM.

DSVBK

Prolog  

Control Block Contents  
   DSVBK DSECT

Storage Layout  

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

This information is based on z/VM V4R1.0.
Last updated on 5 Jun 2001 at 13:26:57 EDT.
Copyright IBM Corporation, 1990, 2001