Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site umcp-cs.UUCP Path: utzoo!linus!decvax!wivax!cadmus!harvard!seismo!umcp-cs!chris From: chris@umcp-cs.UUCP (Chris Torek) Newsgroups: net.unix-wizards Subject: Re: Hanging VAX 11/780 - any solutions? Message-ID: <251@umcp-cs.UUCP> Date: Sat, 6-Oct-84 03:48:53 EDT Article-I.D.: umcp-cs.251 Posted: Sat Oct 6 03:48:53 1984 Date-Received: Sun, 7-Oct-84 21:19:04 EDT References: <950@kaist.UUCP> <987@trwrba.UUCP> Organization: U of Maryland, Computer Science Dept., College Park, MD Lines: 26 There DOES seem to be a bug in various versions of the 4.2BSD UDA50 driver. In particular, ``df'' will appear to hang frequently when the disk is busy. (If you are careful and lucky, you can unhang it with another ``df''.) The reason is that the UDA50 driver has code in udopen() that checks to make sure the drive is really there, by doing an on line command. Unfortunately it doesn't block interrupts while doing it. The command takes long enough that this isn't usually a problem, but if the disk is busy, blammo! (Other random interrupt load could do it too.) The funny thing is that it doesn't even need to do the on-line in most cases. There may be DMF driver bugs, but we haven't run into any yet. [Fix to UDA driver is simply move the splx(s)'s around so that the test on ui->ui_flags==0 followed by a M_OP_ONLIN is atomic; it's also a good idea to not bother with the on line if the drive is on line already.] -- (This mind accidently left blank.) In-Real-Life: Chris Torek, Univ of MD Comp Sci (301) 454-7690 UUCP: {seismo,allegra,brl-bmd}!umcp-cs!chris CSNet: chris@umcp-cs ARPA: chris@maryland