Adam,
a Q NSS shows the following:
*NSS     0160 NSS  S  0001 02/13 00:26:27 SHRUSR   DCSS     DCSS1

Your "SHSUSR" dcss is, at this point, only a skeleton ("S" in the line
above) and not yet a real dcss.

Try doing a CP SAVESEG SHRUSR command before attempting to have the
kernel access it. That will change the status of the dcss ftrom S to "A"
(active). You should then be able to access it via dcssblk.

DJ

Adam Thornton wrote:
I think there's something I'm misunderstanding about the way a DCSS is
supposed to work.

I want to define a 128MB DCSS, starting at 128MB, going up to 256MB.

I give my Linux guest class E privileges, and then issue a

DEFSEG SHRUSR 8000-FFFF SW

This succeeds.

Q NSS NAME SHRUSR MAP gives me
FILE FILENAME FILETYPE MINSIZE  BEGPAG ENDPAG TYPE CL #USERS PARMREGS
VMGROUP
0160 SHRUSR   DCSS       N/A    08000  0FFFF   SW  S  00000   N/A
N/A

So I got what I asked for, it looks like.

Now I'm a little unclear on what the following means in the Device
Driver book:

You must have set the mem kernel parameter to cover the upper limit of
the DCSS.

when taken in conjunction with

You cannot access a DCSS that overlaps with your guest virtual storage.

I *think* what this means is that I'm supposed to define my guest
smaller than 128MB--which I have, in this case, 64M, but that I have to
boot with mem=256M.  If that's the case, that's what I've done:

dcss1:~# cat /proc/cmdline
root=/dev/dasd/0150/part1 ro noinitrd dasd=0150,0151(ro),0152
vmpoff="LOGOFF" mem=256M

             total       used       free     shared    buffers
cached
Mem:         58284      23568      34716          0       1380
12456
-/+ buffers/cache:       9732      48552
Swap:        99156          0      99156

I can modprobe dcssblk just fine:

dcss1:~# modprobe -v dcssblk
/sbin/insmod /lib/modules/2.4.21/kernel/drivers/s390/block/dcssblk.o
Using /lib/modules/2.4.21/kernel/drivers/s390/block/dcssblk.o
Symbol version prefix 'smp_'

But then:

echo "SHRUSR" > /proc/dcssblk/add

gives me

dcssblk warning:SEGMENT SHRUSR NOT LOADED RC=-2

I thought maybe I'd misunderstood who has to have the memory mapped, but
this doesn't change at all when I set the machine's virtual storage to
256MB but change Linux's mem parameter to use 64MB; I still get the
RC=-2.

What am I missing?

Adam


-- Dave Jones Sine Nomine Associates Houston, TX 281.578.7544

Reply via email to