Return to BSD News archive
Path: sserve!newshost.anu.edu.au!munnari.oz.au!metro!sequoia!ultima!kralizec.zeta.org.au!kralizec.zeta.org.au!not-for-mail From: bde@kralizec.zeta.org.au (Bruce Evans) Newsgroups: comp.os.386bsd.misc Subject: Re: Three ESDI drives possible? Date: 31 Aug 1993 01:37:31 +1000 Organization: Kralizec Dialup Unix Sydney: +61-2-837-1183 V.32bis Lines: 39 Message-ID: <25t6rrINNbng@kralizec.zeta.org.au> References: <1993Aug20.023013.19454@sserve.cc.adfa.oz.au> <1993Aug20.155651.18766@leland.Stanford.EDU> <2574j5$65u@olivaw.apanix.apana.org.au> <25eo46INNrbi@kralizec.zeta.org.au> <25iils$9g1@hrd769.brooks.af.mil> NNTP-Posting-Host: kralizec.zeta.org.au In <25iils$9g1@hrd769.brooks.af.mil> burgess@hrd769.brooks.af.mil (Dave Burgess) writes: >In article <25eo46INNrbi@kralizec.zeta.org.au> bde@kralizec.zeta.org.au (Bruce Evans) writes: >} >}The "extra interrupts" are caused by the driver sending some >}initialization commands to the controller for and then waiting for the >}controller to finish, all with wd interrupts disabled. The controller >... >Do you mean like the problem that several wd user are reporting; wherein >during periods of intense disk activity, the drive and controller and >system somehow get out of sync and the system locks up? This could No, the initialization problems and the "extra interrupt" are one-off problems caused by polling the controller instead of waiting for it to interrupt. All normal i/o is interrupt-driven. >explain how this is happening to many folks. I have noticed that I >often have 6150 uSec timeouts... Since this exceeds the threshold for >reporting, I get the report. I haven't seen these problems (or used a version of the driver that reports timeouts). >BTW, I am running netBSD-0.9, and can rebuild a kernel at will (of >course, Will likes me to ask first... :-) The NetBSD driver is better than the 0.2.4 one. I've been working on the 0.2.4 one. So far I haven't merged many of the NetBSD changes. The problem areas in the NetBSD driver are inherited from the 0.2.4 driver. These include incomplete checking of the controller status (in general you have to check WDCS_READY (drive ready) and some other bits as well as WDCS_BUSY (controller busy) for command completion; this is usually not a problem because the controller doesn't interrupt until everything is ready) and incomplete reset code (after a timeout is detected, using reset to recover loses the drive geometry if the geometry in the label is different from the default). -- Bruce Evans bde@kralizec.zeta.org.au