Saved segments are based on the architected segments found in the z
architecture.  A segment is a whole number of megabytes.
So,
FILE FILENAME FILETYPE BEGPAG         ENDPAG         TYPE CL #USERS
 0054 ITMV1A   DCSSG    0000000280000  00000002FFE00   SR  A  00000
uses segments 280 through  2FF (that is; it covers addresses 280000 through
2FFFFF)
and that overlaps the beginning address of
0055 ITMV1B   DCSSG    00000002FFE01  000000037FD00   SR  A  00000
Change the definitions to
FILE FILENAME FILETYPE BEGPAG         ENDPAG         TYPE CL #USERS
0054 ITMV1A   DCSSG    0000000280000  00000002FFFFF   SR  A  00000
0055 ITMV1B   DCSSG    0000000300000  000000037FD00   SR  A  00000
and the segments will no longer overlap.
If you really must work with segments on page boundary and load them
together, you can use segment spaces and segment members:
DEFSEG ITMV1A 280000-2FFE00 SR SPACE ITM
DEFSEG ITMV1B 2FFE01-37FD00 SR SPACE ITM
The segment space named ITM would cover address range 280000-37FFFF.  When
loading one member, CP will almost do as if it loads the whole space (CP
must obey to the z architecture, with segments on megabyte boundaries), the
second member can then also be loaded.  But, the resultant space covers a
range > 2GB, which I think is not supported either.  Segment spaces were
invented when we used to store all (or many) segments below the 16MB line,
very small when installing many program products...
I never used DCSSes above 2GB, maybe extra restrictions apply.

2011/5/25 Mark Post <mp...@novell.com>

> Cross-posted to IBMVM and Linux-390
>
> I'm working on a project where I want an xip2 file system that is larger
> than 2GB.  So, I'm trying to use the support built into z/VM and Linux to
> logically concatenate multiple DCSS into one.  But, I can't seem to get it
> to work.  I can load one segment or the other, but not both.  The message
> that comes out on the console is
> extmem.cb0afe: ITMV1B needs used memory resources and cannot be loaded or
> queried
>
> "man extmem.cb0afe" says "You  cannot load or query the DCSS because it
> overlaps with an already loaded DCSS or with the memory of the z/VM guest
> virtual machine (guest storage)."  I don't believe any of those apply, but I
> need someone to tell me what to do differently, or to whom I should be
> complaining.
>
> The segments are defined as this:
> FILE FILENAME FILETYPE BEGPAG         ENDPAG         TYPE CL #USERS
> 0054 ITMV1A   DCSSG    0000000280000  00000002FFE00   SR  A  00000
> 0055 ITMV1B   DCSSG    00000002FFE01  000000037FD00   SR  A  00000
>
> The guest virtual storage is 1GB:
> #CP Q V STOR
> STORAGE = 1G
>
> The kernel was booted with a mem= value sufficient to contain the highest
> address of the ITMV1B DCSS:
> # cat /proc/cmdline
> root=/dev/disk/by-path/ccw-0.0.9300-part1 TERM=dumb mem=16384M
>  BOOT_IMAGE=0
>
> The command to allocate the two DCSS is:
> echo itmv1a:itmv1b > /sys/devices/dcssblk/add
>
> And that's where I get my error (after 2 minutes).  As I said previously,
> if I try to load them individually, I can do one or the other, but not both.
>
> This is an up to date SLES11 SP1 system, running on z/VM 6.1 RSU 1003.
>  Does anyone see the problem?
>
>
> Mark Post
>



-- 
Kris Buelens,
IBM Belgium, VM customer support

Reply via email to