[comp.unix.wizards] cdc disk on uVAXII

yedidya@bimacs.BITNET (Yedidya Israel) (05/18/88)

Hello wizards.

        We are running 4.3 BSD on uVAXII and installed a new cdc disk.
Its controller is simulating uda50 and identify itself as an ra80.  To
maximize disk utilization we made all partitions sit in intergral
cylinders except partitions a and b. We gave "a" the standard of 15884
and b - 33616 (not 33440) so that d will begin on a limit of a cyl.
This is the fstab entry (of course we updated /sys/vaxuba/uda.c
accordingly)

# CDC-9720-736 is an ra80 compatible.
cdc9720-736|CDC-736|CDC-9720:\
        :ty=winchester:ns#50:nt#15:nc#1633:so:\
        :pa#15884:ba#8192:fa#1024:\
        :pb#33616:bb#8192:fb#1024:\
        :pc#1224750:\
        :pd#197250:bd#4096:fd#512:\
        :pe#244500:be#8192:fe#1024:\
        :pf#244500:bf#8192:ff#1024:\
        :pg#244500:bg#8192:fg#1024:\
        :ph#244500:bh#8192:fh#1024:

We have already 2 rd53 disks + 2 rx50 disktte drives. The
configuration file looks like that

..
controller      uda0    at uba? csr 0172150             vector udintr
disk            ra0     at uda0 drive 0
disk            ra1     at uda0 drive 1
disk            ra2     at uda0 drive 2
disk            ra3     at uda0 drive 3
controller      uda1    at uba? csr 0160334             vector udintr
disk            ra4     at uda1 drive 0
..

System recognizes all devices in autoconf perfectly. But we have a few
problems.

1) swapon shouts: /dev/ra4b: device not configured
   Is there another place to tell unix about swap devices excpet in
/etc/fstab? Do unix find by itself the size of swap area (which is
not 33440 like most of disks are configured) ?

2) Error messages about ra4? looks like "ra0e: hard error sn0 OFFLINE"
                                          ^^
It is true that ra4 is the 0th disk in this controller but it should
be ra4, and the "e" always appears even if we try i/o on ra4a.

3) Sometimes even when booting successfully (successfull autocnf too)
we cannot access the disk (ra0e: hard error sn0 OFFLINE).

4) We tried to verify partitions sizes (via dd if=/dev/ra4a
of=/dev/null bs=blocksize) and all of them were o.k.  except d which
lacks two sectors, the same for all disk (c-part).

Thanks in advance for any hint.

+---------------------------------------------------------------------+
| Israel Yedidya, Math & CS Department, Bar-Ilan U, Ramat-Gan, ISRAEL |
+---------------------------------------------------------------------+
| BITNET: yedidya@bimacs                                              |
| ARPA:   yedidya%bimacs.bitnet@cunyvm.cuny.edu                       |
| CSNET:  yedidya%bimacs.bitnet%cunyvm.cuny.edu@csnet-relay           |
| UUCP:   uunet!mcvax!humus!bimacs!yedidya                            |
+---------------------------------------------------------------------+

chris@mimsy.UUCP (Chris Torek) (05/19/88)

In article <8805181321.AA02870@jade.berkeley.edu> yedidya@bimacs.BITNET
(Yedidya Israel) writes:
[having added another controller and drive to a 4.3BSD uVax II, and
got it configured,]
>1) swapon shouts: /dev/ra4b: device not configured
>   Is there another place to tell unix about swap devices ... ?

Yes: you must say

	config	vmunix		root on ra0 swap on ra0 and ra4

(Personally, I prefer to be explicit: `config vmunix root ra0a swap
ra0b and ra4b args ra0b dumps ra0b'.  The above is equivalent, though.)

>Do unix find by itself the size of swap area (which is
>not 33440 like most of disks are configured) ?

It does (although there is an, er, `interesting' bug when the
d_psize routine is unimplemented).

>2) Error messages about ra4? looks like "ra0e: hard error sn0 OFFLINE"

Just a bug.  Fixed in the new driver in the forthcoming 4.3-tahoe.
The old driver is full of mysterious bugs.  In particular, a number
of people claim it tends to hang when using multiple controllers on
a uVax II.  (I have had one or two reports that my rewritten driver
also hangs, and one that it fixes the problem.  Which is right I
cannot say.)
-- 
In-Real-Life: Chris Torek, Univ of MD Comp Sci Dept (+1 301 454 7163)
Domain:	chris@mimsy.umd.edu	Path:	uunet!mimsy!chris

richl@penguin.USS.TEK.COM (Rick Lindsley) (05/25/88)

In article <11569@mimsy.UUCP> chris@mimsy.UUCP (Chris Torek) writes:

    The old driver is full of mysterious bugs.  In particular, a number
    of people claim it tends to hang when using multiple controllers on
    a uVax II.  (I have had one or two reports that my rewritten driver
    also hangs, and one that it fixes the problem.  Which is right I
    cannot say.)

Yes, the problem is real, though I cannot say if Chris's driver fixes
it, not having seen it. The fix is twofold. First, on uVaxes,
everything interrupts at spl7. If you write or use a routine that could
be called at interrupt level, it sure better not lower the priority
below spl7 unless you are really at an interruptible state. At many
places in the uda driver, you aren't, but it does an implicit spl6
(splbio) or even an explicit spl5. Problems abound once your data
structures get mucked up.

Second, since everything happens at spl7, and interrupts do not appear
to be stacked in any way, you do miss interrupts. It's unclear whether
this was due entirely to the spl problem or some other strangeness on
the part of uVaxen, but a more stringent watchdog routine fixed that.
Between the two of them, the uda driver now works fine on our uVaxen.

Rick