Path: utzoo!attcan!uunet!tektronix!tekgen!puffin!penguin!richl From: richl@penguin.USS.TEK.COM (Rick Lindsley) Newsgroups: comp.unix.wizards Subject: Re: cdc disk on uVAXII Message-ID: <297@puffin.USS.TEK.COM> Date: 24 May 88 20:13:45 GMT References: <8805181321.AA02870@jade.berkeley.edu> <11569@mimsy.UUCP> Sender: news@puffin.USS.TEK.COM Reply-To: richl@penguin.USS.TEK.COM (Rick Lindsley) Organization: Tektronix, Inc., Beaverton, OR. Lines: 24 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