Programming Interface Information:
This information is NOT intended to be used as Programming Interfaces of z/VM. |
PSQBK
Control Block Contents
PSQBK DSECT
Cross Reference (Contains links to field and bit definitions)
PSQBK Prolog
NAME : HCPPSQBK DESCRIPTION: LGR PTE Serialization Queue Block DSECT : PSQBK FUNCTION : Contains information regarding a PTE being processed during relocation of a guest. PSQBKs represent PTEs for which: - PTE serialization was obtained asynchronously, or - PTE serialization still needs to be obtained. LOCATED BY : RLOPSQHD points to the head of the FIFO PSQBK queue RLOPSQTL points to the tail of the FIFO PSQBK queue CREATED BY : HCPRLMPS DELETED BY : HCPRLMPQ SERIALIZED : RLOPSQLK field in RLOBK. Informal spin lock. RELOCATION CONSIDERATIONS : None COMMENTS : A PSQBK describes a block in a FIFO queue that represents PTEs in one of the following states during the walk of the PGMBKs on the source system during relocation of a guest: - PTE serialization has been asynchronously obtained, or - PTE serialization still needs to be obtained but has been deferred because end-to-end throttling is in effect based on the value of the RLOE2ETH throttling indicator. During end-to-end throttling, we must: - Minimize the number of PTEs on which serialization is held, and - Minimize sending further relocation data to the destination system The queue is processed by HCPRLMPQ. For each block, it removes the block from the head of the queue and effectively rejoins the synchronous LGR processing by calling HCPRLTRS unless throttling is in effect. In that case, it releases any PTE serialization held and requeues the PSQBK as a PTE for which serialization is not held. Blocks are added to the queue in the following situations: - By HCPRLTPS, which is an asynchronous task that is stacked via HCPCALL TYPE=DEFERRED while walking the guest's DAT tables when SHORT PTE serialization is not available without deferral. - By HCPRLMPQ in throttling situations as previously described. - By HCPPODDQ in throttling situations to effectively requeue requests for PTE serialization after throttling is no longer in effect. The queue header is RLOPSQHD and the tail is RLOPSQTL. End of queue is delimited by zero.
PSQBK Control Block Content
PSQBK DSECT
Hex Dec Type/Val Lng Label (dup) Comments ---- ---- --------- ---- -------------- -------- 0000 0 Structure PSQBK LGR PTE Serialization Queue Block 0000 0 Signed 4 PSQFPNT Forward pointer 0004 4 Signed 4 PSQBPNT Backward pointer 0008 8 Dbl-Word 8 * (0) 0008 8 Dbl-Word 8 PSQPTEAD PTE Real address 0010 16 Signed 4 PSQPWIBK PWIBK address 0014 20 Bitstring 1 PSQFLAGS Flag byte 1... .... PSQHAVSR X'80' PSQHAVSR PTE Serialization held on the page represented by this PSQBK 0015 21 Bitstring 1 * (3) End of PSQBK 0018 24 Signed 4 PSQ$END (0) End of PSQBK control block 00000018 PSQLEN *-PSQBK Length of PSQBK in bytes 00000003 PSQSIZE (PSQLEN+7)/8 Size of PSQBK in doublewords
PSQBK Storage Layout
*** PSQBK - LGR PTE Serialization Queue Block * * +---------------------------+---------------------------+ * 0 | PSQFPNT | PSQBPNT | * +---------------------------+---------------------------+ * 8 | PSQPTEAD | * +---------------------------+------+--------------------+ * 10 | PSQPWIBK |:FLAGS|////////////////////| * +---------------------------+------+--------------------+ * *** PSQBK - LGR PTE Serialization Queue Block
PSQBK Cross Reference
Symbol Dspl Value -------------- ---- ----- PSQ$END 0018 PSQBPNT 0004 PSQFLAGS 0014 PSQFPNT 0000 PSQHAVSR 0014 80 PSQLEN 0018 00000018 PSQPTEAD 0008 PSQPWIBK 0010 PSQSIZE 0018 00000003
Copyright IBM Corporation, 1990, 2011