|  | 
 NAME       : HCPNSUBK
 DESCRIPTION: Auxillary Storage Management utility data
 DSECT      : NSUBK
 FUNCTION   : This block will map the ASM data module HCPNSUDA.
 LOCATED BY : This block is located in HCPNSUDA.
 RELOCATION CONSIDERATIONS : None
 NOTES      :
                  Data Queue Definitions
                  ----------------------
  Saved Segment SNTBK queue: The Saved Segment SNTBK queue is
  a list of SNTBKs that represents each DCSS and Segment Space
  that is currently loaded by at least one user. Its header
  is NSUSGQAN.
  Named Saved System SNTBK queue: The Named Saved System SNTBK
  queue is a list of SNTBKs that represents each Named Saved
  System that is IPL'd by at least one user. Its header is
  NSUSYQAN.
  *NSS SDF queue: The *NSS SDF queue is a list of all Saved
  Segment and Named Saved System SDF files. Whenever a Saved
  Segment or Named Saved System is defined a spool file is
  created and put onto this queue. When the first DIAG X'64'
  Load or CP IPL command is processed for the Saved Segment
  or Named Saved System, the SDF file is opened, the SNTBK
  description page is read into storage and put onto the
  Saved Segment SNTBK or Named Saved System SNTBK queue
  respectively. If the Saved Segment is a member segment then
  the Segment Space SNTBK will be put onto the Saved Segment
  SNTBK queue. The SDF file remains open for read as long as
  at least one user has the Saved Segment loaded or the Named
  Saved System IPLed. The header of the *NSS SDF queue is
  located in the FILID table (reserved entry *NSS).
  VMDBK/SHRBK queue: The VMDBK/SHRBK is a queue of SHRBKs
  that represents a DIAG X'64' Load or CP IPL command for
  the owner of the VMDBK. Each time a Saved Segment or Named
  Saved System is loaded a SHRBK is added to this queue. It
  is removed by a DIAG X'64' Purge request or a system reset.
  The header of the VMDBK/SHRBK is VMDSHRPT.
  SNTBK/SHRBK queue: The SNTBK/SHRBK is a queue of SHRBKs that
  represents a DIAG X'64' Load or CP IPL command for this
  Saved Segment or Named Saved System. Each time a Saved
  Segment or Named Saved System is loaded a SHRBK is added to
  this queue. It is removed by a DIAG X'64' Purge request or
  a system reset. The header of the SNTBK/SHRBK is SNTSHRPT.
  SAVESEG SNTBK queue: The SAVESEG SNTBK queue is a list of
  SNTBKs that represents each Saved Segment that is currently
  being saved. This queue should be referenced by any CP
  function (such as Query or Purge NSS) that needs to obtain
  information about a Saved Segment that is currently being
  saved. The header of the SAVESEG queue is NSUSSGAN.
  SAVESYS SNTBK queue: The SAVESYS SNTBK queue is a list of
  SNTBKs that represents each Named Saved System that is
  currently being saved. This queue should be referenced by
  any CP function (such as Query or Purge NSS) that needs to
  obtain information about a Named Saved System that is
  currently being saved. The header of the SAVESYS queue is
  NSUSSYAN.
  Lock Hierarchy for Saved Segment or Named Saved System
  ------------------------------------------------------
  Level 1 Locks: VMDBK/SHRBK queue lock (VMDSHRLK)
                 DEFSEG/SAVESEG exclusive command lock
                   (NSUDSGLK)
                 DEFSYS/SAVESYS symbolic command lock
                   (NSUDSYAN)
  Level 2 Lock:  *NSS SDF queue lock (NSUSDFLK)
  Level 3 Lock:  Named Saved System SNTBK queue lock
                 (NSUSYQLK)
  Level 4 Lock:  Saved Segment SNTBK queue lock (NSUSGQLK)
  Level 5 Lock:  SNTBK/SHRBK queue lock (SNTSHRLK) for one of
                   Member Saved Segment, DCSS, or Named Saved
                   System
  Level 6 Lock:  SNTBK/SHRBK queue lock (SNTSHRLK) for Segment
                   Space
  Note: 1) The level 1 locks are the hightest level locks and
           the level 6 locks are the lowest level locks.
        2) If locks need to be obtained from different levels,
           then the higher level lock needs to be obtained
           first.
        See the definition and description of each individual
        lock for more detailed information.
  Saved Segment or Named Saved System serialization matrix
  --------------------------------------------------------
          +-----------------+-----+-----+-----+-----+-----+
          |      LVL1       | LVL2| LVL3| LVL4| LVL5| LVL6|
  +-------+-----+-----+-----+-----+-----+-----+-----+-----+
  | Func- | VMD | Def | Def | *NSS| NSS | Sseg| SNT | SNT |
  | tion  | SHR | Save| Save| SDF |  Q  |  Q  | SHR | SHR |
  |       |  Q  | seg | SYS |  Q  | lock| lock|  Q  |  Q  |
  |       | lock| cmd | cmd | lock|     |     | Lock| Lock|
  |       |     | lock| lock|     |     |     |     |(SSP)|
  +-------+-----+-----+-----+-----+-----+-----+-----+-----+
  |DEFSEG |     | exc |     | exc |     |     |     |     |
  +-------+-----+-----+-----+-----+-----+-----+-----+-----+
  |SAVESEG|     | exc |     | exc |     |     |     |     |
  +-------+-----+-----+-----+-----+-----+-----+-----+-----+
  |DIAG 64|     |     |     |     |     | shr |     |     |
  |Find-1 |     |     |     |     |     |     |     |     |
  +-------+-----+-----+-----+-----+-----+-----+-----+-----+
  |DIAG 64|     |     |     | exc |     |     |     |     |
  |Find-2 |     |     |     |     |     |     |     |     |
  +-------+-----+-----+-----+-----+-----+-----+-----+-----+
  |DIAG 64| exc |     |     |     |     | shr | exc | exc |
  |Load-1 |     |     |     |     |     |     |     |     |
  +-------+-----+-----+-----+-----+-----+-----+-----+-----+
  |DIAG 64| exc |     |     | exc |     | exc |     |     |
  |Load-2 |     |     |     |     |     |     |     |     |
  +-------+-----+-----+-----+-----+-----+-----+-----+-----+
  |DIAG 64| exc |     |     |     |     | shr | exc | exc |
  |Purge1 |     |     |     |     |     |     |     |     |
  +-------+-----+-----+-----+-----+-----+-----+-----+-----+
  |DIAG 64| exc |     |     | exc |     | exc |     |     |
  |Purge2 |     |     |     |     |     |     |     |     |
  +-------+-----+-----+-----+-----+-----+-----+-----+-----+
  |Q NSS  |     |     |     | exc |     |     |     |     |
  +-------+-----+-----+-----+-----+-----+-----+-----+-----+
  |Q NSS  |     |     |     |     | shr | shr | shr | shr |
  |USERS  |     |     |     |     |     |     |     |     |
  +-------+-----+-----+-----+-----+-----+-----+-----+-----+
  |Inter  | exc |     |     |     | shr | shr | exc | exc |
  |Purge-1|     |     |     |     |     |     |     |     |
  +-------+-----+-----+-----+-----+-----+-----+-----+-----+
  |Inter  | exc |     |     | exc | exc | exc |     |     |
  |Purge-2|     |     |     |     |     |     |     |     |
  +-------+-----+-----+-----+-----+-----+-----+-----+-----+
  |DEFSYS |     |     | exc | exc |     |     |     |     |
  +-------+-----+-----+-----+-----+-----+-----+-----+-----+
  |SAVESYS|     |     | exc | exc |     |     |     |     |
  +-------+-----+-----+-----+-----+-----+-----+-----+-----+
  | IPL   | exc |     |     | shr | shr |     | exc |     |
  | NSS-1 |     |     |     |     |     |     |     |     |
  +-------+-----+-----+-----+-----+-----+-----+-----+-----+
  | IPL   | exc |     |     | exc | exc |     |     |     |
  | NSS-2 |     |     |     |     |     |     |     |     |
  +-------+-----+-----+-----+-----+-----+-----+-----+-----+
  |Monitor|     |     |     |     | shr | shr |     |     |
  |Sample |     |     |     |     |     |     |     |     |
  +-------+-----+-----+-----+-----+-----+-----+-----+-----+
  |Monitor| shr |     |     |     |     |     |     |     |
  | IUCV  |     |     |     |     |     |     |     |     |
  +-------+-----+-----+-----+-----+-----+-----+-----+-----+
  | Purge |     |     |     | exc | exc | exc |     |     |
  | Cmd   |     |     |     |     |     |     |     |     |
  +-------+-----+-----+-----+-----+-----+-----+-----+-----+
  | Indi- |     |     |     |     | shr | shr |     |     |
  | cate  |     |     |     |     |     |     |     |     |
  | NSS   |     |     |     |     |     |     |     |     |
  +-------+-----+-----+-----+-----+-----+-----+-----+-----+
  |VMdump | exc |     |     |     |     |     |     |     |
  +-------+-----+-----+-----+-----+-----+-----+-----+-----+
  |Mig-   |     |     |     |     | shr | shr |     |     |
  |rator  |     |     |     |     |     |     |     |     |
  +-------+-----+-----+-----+-----+-----+-----+-----+-----+
  Notes:
  DIAG 64 Find-1 : Find a Saved Segment from the Saved Segment
                   SNTBK queue
  DIAG 64 Find-2 : Find a Saved Segment from the *NSS SDF
                   queue
  DIAG 64 Load-1 : Load a Saved Segment from the Saved Segment
                   SNTBK queue.
  DIAG 64 Load-2 : Load a Saved Segment from the *NSS SDF
                   queue
  DIAG 64 Purge1 : 'use-count' > 1, not the last user.
  DIAG 64 Purge2 : 'use-count' = 1, last user of the Saved
                   Segment.
  Inter Purge-1  : 'Internal' Purge, 'use-count' > 1, not the
                   last user.
  Inter Purge-2  : 'Internal' Purge, 'use-count' = 1, last
                   user of the Saved Segment.
  IPL NSS-1      : IPLing a Named Saved System from the Named
                   Saved System SNTBK queue
  IPL NSS-2      : IPLing a Named Saved System from the *NSS
                   SDF queue
 |  |