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