Avoiding overlaps with your guest storage

Ubuntu 22.04 LTS z/VM guest

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.