GSBBK | Back to Index page

| Prolog Control Block Contents GSBBK DSECT GSBRBAE DSECT Storage Layout Cross Reference (Contains links to field and bit definitions) |
Programming Interface Information: This information is NOT intended to be used as Programming Interfaces of z/VM.

GSBBK Prolog | Top of page

     NAME       : HCPGSBBK
     DESCRIPTION: Guest Storage Relocation Buffer Block
     DSECT      : GSBBK
     FUNCTION   : This control block is used during Live Guest
                  Relocation to accumulate a set of guest pages to be
                  sent from the source system to the destination system.
                  It is tightly coupled to the HCPVPABK.
      ocated by
                  - Creation tasks generally maintain a local pointer.
                  Additionally, RLOGSBPW and RLOGSBPD will point to
                  the GSBBK which is currently being filled in by the
                  PGMBK walker (HCPRLTPW) and the DASD handler (HCPPODDQ)
                  respectively.
                  - The first fragment in a MBHLIST created by HCPRLMSQ
                  will point to GSBVPA.  This host logical pointer is
                  used by post-send-processing routines to locate the
                  GSBBK by subtracting GSBHDSZB.
                  - This block does not exist on the destination system.
     CREATED BY : - Created via HCPGETST by HCPRLMGB/FB.
     DELETED BY : - Deleted via HCPRELST when HCPRLMRM has completed
                  processing of this set of guest pages.
                  - Deleted via HCPRELST when HCPRLS finds a GSBBK
                  was not needed (unused.)
     REFERENCES : None
     SERIALIZED : Only one task should have the
                  address of a particular GSBBK.
     RELOCATION CONSIDERATIONS : - This block is not relocated during a relocation of a
                  guest from one system to another.
                  - During a relocation, multiple GSBBKs are created on the
                  source system as guest pages are being sent.  The number
                  in existence is roughly 2 (RLOGSBPW, RLOGSBPD) plus
                  the number of outstanding sends (RLOSNDWT).
     NOTES      : - The GSBBK is broken into three main parts.
                  See each part for more information.
                  - GSBHEAD: Header information (not transmitted)
                  - GSBVPA: Virtual Page Array (Includes its own header)
                  - GSBRBA: Real Buffer Address Array.
                  - The GSBBK is variable length in size.  And the GSBVPA
                  is also variable length in size.  To locate GSBRBA
                  one must know the number of entries.
                  Addr(GSBRBA) =
                  ADDR(GSBBK)+GSBHDSZB+VPAHDSZB+(GSBPGCNT*VPAAESZB)
                  Length(GSBBK) =
                  GSBHDSZB+VPAHDSZB+GSBPGCNT*(VPAAESZB+GSBAESZB)

GSBBK Control Block Content | Top of page

     GSBBK DSECT
    Top of page

    Hex   Dec Type/Val   Lng Label (dup)    Comments
    ---- ---- --------- ---- -------------- --------
    0000    0 Structure      GSBBK          Guest Storage Relocation Buffer Block
          GSBHEAD marks the beginning of the header information
          which is not transmitted from the source system to
          the destination system.  This information is unique
          to the system it is located on.  This information
          does not exist on the destination system.
    0000    0 Address      4 GSBHEAD (0)
    0000    0 Address      4 GSBMBHBK       Host logical address of the MBHBK
                                            created after this GSBBK was
                                            filled and ready to send.
    0004    4 Bitstring    1 GSBSTATE       State of this GSBBK.
              1... ....      GSBFILL        X'80' GSBFILL Buffers are being
                                            filled in.
              .1.. ....      GSBSEND        X'40' GSBSEND Send processing has
                                            begun.
              ..1. ....      GSBSENT        X'20' GSBSENT Send processing
                                            complete. (Sent)
              ...1 ....      GSBPSEND       X'10' GSBPSEND Post-send
                                            processing has begun.
              .... 1...      GSBDONE        X'08' GSBDONE Processing is
                                            complete. (Fretted!)
              .... .1..      GSBERROR       X'04' GSBERROR An error was
                                            encountered attempting to send
                                            this GSBBK.
    0005    5 Bitstring    3 *              Reserved for future IBM use.
    0008    8 Signed       2 GSBPGCNT       Page count. Total number of VPAL
                                            and RBA entries. (Filled in or
                                            not.)
    000A   10 Signed       2 GSBPCONT       Count of pages with contents
                                            being sent.
    000C   12 Signed       4 GSBRLOBK       RLOBK for relocation that
                                            obtained this GSBBK
    0010   16 Dbl-Word     8 GSBCPEDW       Doubleword for HCPRLMSQ/HCPRLMRM
                                            post and wait serialization
    0010   16 Signed       4 GSBRMCPE       Address of CPEBK to stack to
                                            redrive HCPRLMRM processing
    0014   20 Signed       4 GSBTHRCT       Count of threads that still need
                                            this GSBBK to exist
              00000018       GSBHDSZB       *-GSBHEAD Size of GSBHEAD in
                                            bytes.
              00000003       GSBHDSZD       (GSBHDSZB+7)/8 Size of GSBHEAD in
                                            double words.
          GSBVPA is the Virtual Page Array Information.
          This section is transmitted from the source
          system to the destination system.  The Virtual
          Page array is mapped by VPABK DSECT in HCPVPABK.
          It contains a header which is transmitted.
    0018   24 Dbl-Word     8 GSBVPA (0)     Virtual Page Array Information.
                                            (Variable length).
          GSBRBA is the Real Buffer Address Array.  Each entry
          of this Array corresponds to the same entry in the
          virtual page array.  For example, the third entry of
          this array corresponds to the third entry of the
          virtual page array.
          Each entry contains:
            1) Host Absolute address of a frame with the contents of
               a guest page (GSBRBADR)
            2) Host Absolute address of the PTE corresponding to the
               guest Virtual Page address (GSBSRPTE)
          The frame will represent a guest page with
          one of the following characteristics:
          Guest Page    | Real Buffer Address (GSBRBADR)
            State       |
           Resident     | Address of the frame in situ.
           Paged to     | The contents of the guest page are
             XSTORE     | paged in from XSTORE into this frame.
                        | The guest page is left in XSTORE.
           Paged to     | The contents of the guest page are read
             DASD       | in from paging DASD into this frame.
                        | The guest page is left on DASD.
           Logically    |
            zero or     | Contains zero.
            contents not|
            being sent. |
          If the Real Buffer Address Array entry is non-zero,
          the content of the frame at the real address specified
          by the entry is transmitted from the source system to
          the destination system.  PTE serialization is held for
          all guest pages in the virtual page array until
          HCPRLMRM, the recover message task, releases it.  For
          XSTORE or DASD frames, the corresponding temporary
          frame is then returned to the managed buffer set.
          Since the GSBVPA is variable length, the Address of
          GSBRBA must be calculated.
             Addr(GSBRBA) =
                   ADDR(GSBBK)+GSBHDSZB+VPAHDSZB+(GSBPGCNT*VPAAESZB)
          GSBRBA DS    0D            Real Buffer Address Array.

     GSBRBAE DSECT
    Top of page

    Hex   Dec Type/Val   Lng Label (dup)    Comments
    ---- ---- --------- ---- -------------- --------
    0000    0 Structure      GSBRBAE        Guest Storage Relocation Buffer Block
    0000    0 Dbl-Word     8 GSBRBADR       Host Absolute Real Buffer
                                            Address.
    0008    8 Dbl-Word     8 GSBSRPTE       Host Absolute PTE address for the
                                            guest page
              00000010       GSBAESZB       *-GSBRBAE Size of 1 GSBRBAE in
                                            bytes
              00000002       GSBAESZD       (GSBAESZB+7)/8 Size of 1 GSBRBAE
                                            in double words.

GSBBK Storage Layout | Top of page

    *** GSBBK - Guest Storage Relocation Buffer Block
    *
    *     +---------------------------+------+--------------------+
    *   0 |         GSBMBHBK          |:STATE|////////////////////|
    *     +-------------+-------------+------+--------------------+
    *   8 |  GSBPGCNT   |  GSBPCONT   |         GSBRLOBK          |
    *     +-------------+-------------+---------------------------+
    *  10 |                       GSBCPEDW                        |
    *     +-------------------------------------------------------+
    *  18
    *
    *** GSBBK - Guest Storage Relocation Buffer Block

    *** Overlay for GSBCPEDW in GSBBK
    *
    *     +---------------------------+---------------------------+
    *  10 |         GSBRMCPE          |         GSBTHRCT          |
    *     +---------------------------+---------------------------+
    *
    *** Overlay for GSBCPEDW in GSBBK

    *** GSBRBAE - Guest Storage Relocation Buffer Block
    *
    *     +-------------------------------------------------------+
    *   0 |                       GSBRBADR                        |
    *     +-------------------------------------------------------+
    *   8 |                       GSBSRPTE                        |
    *     +-------------------------------------------------------+
    *  10
    *
    *** GSBRBAE - Guest Storage Relocation Buffer Block

GSBBK Cross Reference | Top of page

    Symbol         Dspl Value
    -------------- ---- -----
    GSBAESZB       0008 00000010
    GSBAESZD       0008 00000002
    GSBCPEDW       0010
    GSBDONE        0004 08
    GSBERROR       0004 04
    GSBFILL        0004 80
    GSBHDSZB       0014 00000018
    GSBHDSZD       0014 00000003
    GSBHEAD        0000
    GSBMBHBK       0000
    GSBPCONT       000A
    GSBPGCNT       0008
    GSBPSEND       0004 10
    GSBRBADR       0000
    GSBRLOBK       000C
    GSBRMCPE       0010
    GSBSEND        0004 40
    GSBSENT        0004 20
    GSBSRPTE       0008
    GSBSTATE       0004
    GSBTHRCT       0014
    GSBVPA         0018

This information is based on z/VM 7.2.0 Last updated on 24 Jun 2020 at 09:28:25 EDT.
Copyright IBM Corporation, 1990, 2020