|
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)
| |