PSQBK | Back to Index page

| Prolog Control Block Contents PSQBK 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.

PSQBK Prolog | Top of page

     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 | Top of page

     PSQBK DSECT
    Top of page

    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 | Top of page

    *** PSQBK - LGR PTE Serialization Queue Block
    *
    *     +---------------------------+---------------------------+
    *   0 |         PSQFPNT           |         PSQBPNT           |
    *     +---------------------------+---------------------------+
    *   8 |                       PSQPTEAD                        |
    *     +---------------------------+------+--------------------+
    *  10 |         PSQPWIBK          |:FLAGS|////////////////////|
    *     +---------------------------+------+--------------------+
    *
    *** PSQBK - LGR PTE Serialization Queue Block

PSQBK Cross Reference | Top of page

    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

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