Avoiding overlaps with your guest storage
Ensure that your DCSSs do not overlap with the memory of your z/VM guest virtual machine (guest storage).
Using kdump: If you use kdump, a DCSS and its
corresponding storage gap must not overlap with the storage area
0 - <crashkernel
size>
. About this task
To find the start and end addresses of the DCSSs, enter
the following CP command; this command requires privilege class E:
#cp q nss map
the
output gives you the start and end addresses of all defined DCSSs
in units of 4-kilobyte pages: 00: FILE FILENAME FILETYPE MINSIZE BEGPAG ENDPAG TYPE CL #USERS PARMREGS VMGROUP
...
00: 0011 MONDCSS CPDCSS N/A 09000 097FF SC R 00003 N/A N/A
...
If all DCSSs that you intend to access are located above the guest storage, you do not need to take any action.
Procedure
If any DCSS that you intend to access with
your guest machine overlaps with the guest storage, redefine the guest
storage. Define two or more discontiguous storage extents such that
the storage gap with the lowest address range covers the address ranges
of all your DCSSs.
Note:
- You cannot place a DCSS into a storage gap other than the storage gap with the lowest address range.
- A z/VM guest that was defined with one or more storage gaps cannot access a DCSS above the guest storage.
From a CMS session, use the DEF STORE command to
define your guest storage as discontiguous storage extents. Ensure
that the storage gap between the extents covers all your DCSSs' address
ranges. Issue a command of this form:
DEF STOR CONFIG 0.<storage_gap_begin> <storage_gap_end>.<storage above gap>
where:
- <storage_gap_begin>
- is the lower limit of the storage gap. This limit must be at or
below the lowest address of the DCSS with the lowest address range.
Because the lower address ranges are needed for memory management functions, make the lower limit at least 128 MB. The lower limit for the DCSS increases with the total memory size. Although 128 MB is not an exact value, it is an approximation that is sufficient for most cases.
- <storage_gap_end>
- is the upper limit of the storage gap. The upper limit must be above the upper limit of the DCSS with the highest address range.
- <storage above gap>
- is the amount of storage above the storage gap. The total guest storage is <storage_gap_begin> + <storage above gap>.
All values can be suffixed with M to provide the values in megabyte. See z/VM: CP Commands and Utilities Reference, SC24-6268 for more information about the DEF STORE command.
Example
To make a DCSS that starts at 144 MB and
ends at 152 MB accessible to a z/VM guest
with 512 MB guest storage:
DEF STORE CONFIG 0.140M 160M.372M
This
specification is one example of how a suitable storage gap can be
defined. In this example, the storage gap covers 140
- 160 MB and, thus, the entire DCSS range. The total guest storage
is 140 MB + 372 MB = 512 MB.