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
              .1.. ....      DSVRCGAL       X'40' A foreground replenish of
                                            the cleared global available list
                                            is required
              ..1. ....      DSVNOOWN       X'20' High priority reclaim noown
                                            resources
              ...1 ....      DSVSXSPM       X'10' High priority SXSPM work
              .... 1...      DSVFOBTR       X'08' FOB list trim function
    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 Signed       2 *              Reserved for future IBM use
    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|/////////////|: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
    -------------- ---- -----
    DSVDSCAN       0000 80
    DSVENTLN       0014 00000008
    DSVENTRY       000E 00000010
    DSVFLAGS       0012
    DSVFOBTR       0000 08
    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
    DSVNOOWN       0000 20
    DSVNOPTL       0001 08
    DSVNOSTL       0012 08
    DSVPRIOR       0014
    DSVRCGAL       0000 40
    DSVSIZE        0014 00000010
    DSVSXSPM       0000 10
    DSVTIDLE       0001 40
    DSVUSERC       000C
    DSVVMDBK       0010

This information is based on z/VM V5R2.0. Last updated on 12 Apr 2006 at 16:51:57 EDT.
Copyright IBM Corporation, 1990, 2005