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

#### SRXBK

Prolog

Control Block Contents
SRXBK DSECT

Storage Layout

Cross Reference (Contains links to field and bit definitions)

#### SRXBK Prolog

     NAME       : HCPSRXBK
     DESCRIPTION: System Resource Management block extensions
     DSECT      : SRXBK
     FUNCTION   : HCPSRXBK contains original SRMBK fields which are
                  duplicated for Mixed-Engine partitions.  These
                  fields are used by the System Resource Manager
                  (Scheduler) in the maintainance of user lists and
                  calculation of various scheduling parameters.
     LOCATED BY : SRMXTBL table of SRXBK pointers by processor
                  type
     CREATED BY : HCPIST during system initialization
     DELETED BY : Never deleted
     REFERENCES : None
     SERIALIZED : Scheduler lock (SRMSLOCK)
     NOTES      : An SRXBK exists for
                  each processor type that is valid in a Mixed-Engines
                  configuration.  Prior to Mixed-Engines support, these
                  fields were global scheduler fields.  Now they must
                  be viewed as valid for a particular processor type
                  only.  For example, when processing the SRXBK for
                  type zAAP, SRXMXSHR is the largest SHARE of system
                  that can be delivered to a single VMDBK of type
                  zAAP.

#### SRXBK Control Block Content

#### SRXBK DSECT

    Hex   Dec Type/Val   Lng Label (dup)    Comments
    ---- ---- --------- ---- -------------- --------
    0000    0 Structure      SRXBK          System Resource Management block extensions
    0000    0 Signed       4 SRXDLSCN       Dispatch list scan header. This
                                            is the point at which HCPSTK's
                                            LINKDS subroutine is to begin
                                            scanning the dispatch list for an
                                            insertion point whenever adding a
                                            user
    0004    4 Address      4 SRXDLADD       Pointer to the last VMDBK added
                                            to the D-list ahead of ATOD. Used
                                            to reduce scans in the list.
                 Timing Parameters
                 NOTES      : The assembler construct 'FL8S12' is used to
                 generate a fixed-point number which represents a
                 time value (in microseconds) in TOD clock format
                 or CPU timer format.  'FL8S12E6' is used when
                 specifying a time value in seconds (rather than
                 microseconds).
    0008    8 Signed       8 SRXHIDSP       Dispatching priority of the
                                            highest priority user on the
                                            dispatch list at the time of the
                                            last major reshuffle (HCPDSBRV)
                                            less an adjustment interval to
                                            allow for continuing transactions
                                            returning to the dispatch list.
                                            The highest priority user has the
                                            lowest value of VMDDPRTY. This
                                            field is the basis for computing
                                            field DSVPRIOR in the PLDV.
                                            DSVPRIOR = VMDDPRTY - SRXHIDSP.
                                            (at least 32 bits of the result).
    0010   16 Signed       8 SRXATOD        Artificial TOD. This TOD only
                                            advances at the rate the system
                                            is running user work.
    0018   24 Signed       4 SRXTOTLS (0)   An equate used as an index base
                                            to reference one of the next two
                                            fields, srmreldl and srmabsdl.
                                            Code depends on these two fields
                                            being fullwords and following IN
                                            THE GIVEN ORDER.
    0018   24 Signed       4 SRXRELDL       The sum of the relative shares of
                                            all RELATIVE share holders
                                            (excluding dedicated VMDBKs)
                                            currently in the dispatch list.
                                            This field is protected by the
                                            scheduler lock.
    001C   28 Signed       4 SRXABSDL       The sum of the absolute shares of
                                            all VMDBKs (excluding dedicated
                                            VMDBKs) currently in the dispatch
                                            list. This field is protected by
                                            the scheduler lock.
    0020   32 Signed       4 SRXTOTDE (0)   An equate used as an index base
                                            to reference one of the next two
                                            fields, srmrelde and srmabsde.
                                            Code depends on these two fields
                                            being fullwords and following in
                                            the given order.
    0020   32 Signed       4 SRXRELDE       The sum of the relative shares of
                                            all relative share holders
                                            currently in the eligible and
                                            dispatch list. This field is
                                            protected by the scheduler lock.
    0024   36 Signed       4 SRXABSDE       The sum of the absolute shares of
                                            all VMDBKs currently in the
                                            eligible and dispatch list. This
                                            field is protected by the
                                            scheduler lock.
    0028   40 Signed       2 SRXNCPUA       The number of CPUs available to
                                            schedule time on for
                                            non-dedicated users. This field
                                            is protected by the scheduler
                                            lock.
    002A   42 Signed       2 *              Reserved for future IBM use
    002C   44 Address      4 SRXLLIST       Anchor for the limit-list.
                                            Contains address of 1st VMDBK in
                                            list, or zero if list is empty.
                                            VMDBKs are forward and backward
                                            chained via VMDLFPNT & VMDLBPNT.
    0030   48 Dbl-Word     8 SRXATODD       A timestamp (TOD). The deadline
                                            for current ATOD-interval to end.
                                            Each CPU will copy this into its
                                            PFXATODD. But PFXATODD will often
                                            be an iteration behind SRXATODD.
    0038   56 Dbl-Word     8 SRXCHKIN       A timestamp (TOD). Time when the
                                            first-checker CPU last checked in
                                            (to start current ATOD-interval).
                                            Equals PFXCHKIN of first-checker.
    0040   64 Dbl-Word     8 SRXCHKTW       A timestamp (TOD). Time when the
                                            tracked-wait masks (SRXASKT1 and
                                            SRXASKT2) should next be checked.
                                            (Set to something like TOD+10ms.)
    0048   72 Signed       8 SRXATOD2       Artificial TOD2. This TOD
                                            advances at the same rate as the
                                            TOD clock. It is updated each
                                            time SRXATOD is adjusted. This
                                            field is used to determine when a
                                            VMDBK should be dropped from the
                                            limit list.
    0050   80 Dbl-Word     8 SRXASKTW       Mask has a bit for each logical
                                            CPU. Bit is on if the CPU is
                                            currently in "tracked-wait" mode.
    0058   88 Dbl-Word     8 SRXASKT1       Mask has a bit for each logical
                                            CPU. Bit is on if CPU performed
                                            an ATOD-check-in since mask was
                                            last reset (as timed by
                                            SRMASKTM).
    0060   96 Dbl-Word     8 SRXASKT2       Mask has a bit for each logical
                                            CPU. Bit is on if CPU performed
                                            an ATOD-check-in during previous
                                            interval (as timed by SRMASKTM).
    0068  104 Signed       4 SRXTRKCT       Count of tracked-wait-mode CPUs.
    006C  108 Address      4 SRXLODSP       Pointer to the VMDBK just above
                                            ATOD in the dispatch list. It is
                                            advanced only when ATOD is up-
                                            dated, and so may not always
                                            point to quite the last VMDBK.
                                            PURPOSE: Save scanning overhead
                                            when locating VMDBKs which have
                                            aged out of the SRXCTHRU bunch.
           SRXRTHRU and SRXCTHRU are two tables, used in normalizing
           users' VMDRTHRUs.  (VMDRTHRU is the user's "required
           throughput" i.e., his SHARE after it has been adjusted to
           compensate him for any delay in the eligible list.)
    0070  112 Signed       4 SRXRTHRU (0)   Start of array (table) of sums of
                                            VMDRTHRU values for all VMDBKs in
                                            the dispatch list.
    0070  112 Signed       4 SRXRTHRN       Total VMDRTHRU of VMDBKs in the
                                            dispatch list which are not cur-
                                            rently hitting their max-SHAREs.
    0074  116 Signed       4 SRXRTHRL       Total VMDRTHRU of VMDBKs in the
                                            dispatch list which are current-
                                            ly hitting their max-SHAREs.
                                            (LIMITed and hitting the limit.)
    0078  120 Signed       4 SRXRTHRZ (0)   End of array (table).
                 Notes      : SRXRTHRN and SRXRTHRL must have the same
                 offsets within the SRXRTHRU array as SRXCTHRN
                 and SRXCTHRL have in the SRXCTHRU array.
    0078  120 Signed       4 SRXCTHRU (0)   Start of array (table) of sums of
                                            VMDRTHRU values of compute- bound
                                            VMDBKs (literally, VMDBKs below
                                            ATOD) in the dispatch list.
    0078  120 Signed       4 SRXCTHRN       Total VMDRTHRU of compute-bound
                                            VMDBKs not hitting max-SHARE.
    007C  124 Signed       4 SRXCTHRL       Total VMDRTHRU of compute-bound
                                            VMDBKs hitting max-SHARE.
    0080  128 Signed       4 SRXCTHRZ (0)   End of array (table).
                 General Data Fields
    0080  128 Signed       4 SRXMXSHR       Largest SHARE of system that can
                                            be delivered to a single VMDBK.
                                            It is the reciprocal of SRXNCPUA.
                                            (E.g., 0.25 on a 4-way system.)
    0084  132 Signed       4 SRXLLCNT       Count of adds to the limit-list.
                                            This count is only approximate,
                                            it does not include adds result-
                                            from virtual-MP priority drop.
    0088  136 Signed       4 SRXCONLL       Count of users actually ON the
                                            Limit List. This count is
                                            serialized by the scheduler lock.
    008C  140 Address      4 SRXDVLST       Anchor into the linked list of
                                            PLDV's linked by DSVNXTDV.
          The following field is a bit masks for which each real
          processor has a corresponding unique bit.
    0090  144 Dbl-Word     8 SRXLCPUA       Mask containing the logical CPU
                                            ids (PFXLCPUA) of CPUs which are
                                            online and non-dedicated. (The
                                            counter SRXNCPUA should tell how
                                            many bits are on in SRXLCPUA.)
                                            See also SYSLCPUA, which is
                                            similar, but shows dedicated CPUs
                                            and also offline CPUs whose
                                            prefix pages have not been freed.
    0098  152 Address      4 SRXTRQWT       Points to TRQBK used to bring us
                                            out of wait state when it is time
                                            to dequeue VMDBKs from
                                            limit-list.
    009C  156 Signed       4 *              Reserved for IBM use
              00000014       SRXSIZE        (*-SRXBK+7)/8 size in double
                                            words
              000000A0       SRXBSIZE       SRXSIZE*8 size in bytes

#### SRXBK Storage Layout

    *** SRXBK - System Resource Management block extensions
    *
    *     +---------------------------+---------------------------+
    *   0 |         SRXDLSCN          |         SRXDLADD          |
    *     +---------------------------+---------------------------+
    *   8 |                       SRXHIDSP                        |
    *     +-------------------------------------------------------+
    *  10 |                       SRXATOD                         |
    *     +---------------------------+---------------------------+
    *  18 |         SRXRELDL          |         SRXABSDL          |
    *     +---------------------------+---------------------------+
    *  20 |         SRXRELDE          |         SRXABSDE          |
    *     +-------------+-------------+---------------------------+
    *  28 |  SRXNCPUA   |/////////////|         SRXLLIST          |
    *     +-------------+-------------+---------------------------+
    *  30 |                       SRXATODD                        |
    *     +-------------------------------------------------------+
    *  38 |                       SRXCHKIN                        |
    *     +-------------------------------------------------------+
    *  40 |                       SRXCHKTW                        |
    *     +-------------------------------------------------------+
    *  48 |                       SRXATOD2                        |
    *     +-------------------------------------------------------+
    *  50 |                       SRXASKTW                        |
    *     +-------------------------------------------------------+
    *  58 |                       SRXASKT1                        |
    *     +-------------------------------------------------------+
    *  60 |                       SRXASKT2                        |
    *     +---------------------------+---------------------------+
    *  68 |         SRXTRKCT          |         SRXLODSP          |
    *     +---------------------------+---------------------------+
    *  70 |         SRXRTHRN          |         SRXRTHRL          |
    *     +---------------------------+---------------------------+
    *  78 |         SRXCTHRN          |         SRXCTHRL          |
    *     +---------------------------+---------------------------+
    *  80 |         SRXMXSHR          |         SRXLLCNT          |
    *     +---------------------------+---------------------------+
    *  88 |         SRXCONLL          |         SRXDVLST          |
    *     +---------------------------+---------------------------+
    *  90 |                       SRXLCPUA                        |
    *     +---------------------------+---------------------------+
    *  98 |         SRXTRQWT          |///////////////////////////|
    *     +---------------------------+---------------------------+
    *  A0
    *
    *** SRXBK - System Resource Management block extensions

#### SRXBK Cross Reference

    Symbol         Dspl Value
    -------------- ---- -----
    SRXABSDE       0024
    SRXABSDL       001C
    SRXASKTW       0050
    SRXASKT1       0058
    SRXASKT2       0060
    SRXATOD        0010
    SRXATODD       0030
    SRXATOD2       0048
    SRXBSIZE       009C 000000A0
    SRXCHKIN       0038
    SRXCHKTW       0040
    SRXCONLL       0088
    SRXCTHRL       007C
    SRXCTHRN       0078
    SRXCTHRU       0078
    SRXCTHRZ       0080
    SRXDLADD       0004
    SRXDLSCN       0000
    SRXDVLST       008C
    SRXHIDSP       0008
    SRXLCPUA       0090
    SRXLLCNT       0084
    SRXLLIST       002C
    SRXLODSP       006C
    SRXMXSHR       0080
    SRXNCPUA       0028
    SRXRELDE       0020
    SRXRELDL       0018
    SRXRTHRL       0074
    SRXRTHRN       0070
    SRXRTHRU       0070
    SRXRTHRZ       0078
    SRXSIZE        009C 00000014
    SRXTOTDE       0020
    SRXTOTLS       0018
    SRXTRKCT       0068
    SRXTRQWT       0098

This information is based on z/VM V6R1.0. Last updated on 18 Feb 2010 at 09:07:51 EDT.
Copyright IBM Corporation, 1990, 2008