From owner-freebsd-current Wed Jun 3 17:29:06 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id RAA12860 for freebsd-current-outgoing; Wed, 3 Jun 1998 17:29:06 -0700 (PDT) (envelope-from owner-freebsd-current@FreeBSD.ORG) Received: from freebie.lemis.com (freebie.lemis.com [139.130.136.133]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id RAA12790 for ; Wed, 3 Jun 1998 17:28:42 -0700 (PDT) (envelope-from grog@freebie.lemis.com) Received: (from grog@localhost) by freebie.lemis.com (8.9.0/8.9.0) id JAA05099; Thu, 4 Jun 1998 09:57:18 +0930 (CST) Message-ID: <19980604095717.A22406@freebie.lemis.com> Date: Thu, 4 Jun 1998 09:57:17 +0930 From: Greg Lehey To: Mike Smith , Bob Willcox Cc: shimon@simon-shapiro.org, Karl Pielorz , tcobb , "freebsd-current@freebsd.org" , Michael Hancock Subject: Re: DPT driver fails and panics with Degraded Array References: <19980603073200.A16652@pmr.com> <199806031828.LAA00592@dingo.cdrom.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 0.91.1i In-Reply-To: <199806031828.LAA00592@dingo.cdrom.com>; from Mike Smith on Wed, Jun 03, 1998 at 11:28:22AM -0700 WWW-Home-Page: http://www.lemis.com/~grog Organization: LEMIS, PO Box 460, Echunga SA 5153, Australia Phone: +61-8-8388-8286 Fax: +61-8-8388-8725 Mobile: +61-41-739-7062 Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG On Wed, 3 June 1998 at 11:28:22 -0700, Mike Smith wrote: >> On Wed, Jun 03, 1998 at 12:54:43PM +0930, Greg Lehey wrote: >>> On Mon, 1 June 1998 at 20:51:51 -0400, Simon Shapiro wrote: >>>> On 29-May-98 Mike Smith wrote: >>>> >>>>>> I am routinely running a Dual DPT with 38 drives on 6 busses. On >>>>>> 3.0-CURRENT SMP. The system did lose disk drives, either >>>>>> intentionally, or by accident. I cannot confirm any of Mr. Cobb's >>>>>> finding. I have not been funished with any data, including the >>>>>> panic point, which I suspect is not in the DPT code. I am still >>>>>> waiting for such data. >>>>> >>>>> I'd just like to point out that the "biodone: buffer not busy" panic >>>>> doesn't come from the DPT driver, but may be caused by it calling >>>>> biodone() on a buffer that the system does not believe is busy. >>> >>> Why would a driver call biodone on a buffer that doens't belong to it? >> >> Probably not relavent, but in the DPT device driver that I wrote for AIX >> I had to put some pretty ugly validity checks in the interrupt code to >> prevent my driver from trying to do an iodone (AIX's version of biodone) >> on already completed (or purged, I don't remember for sure...its been >> over a year now) commands. Seems that the DPT firmware would (on >> occasion) interrupt with a status packet that pointed to a ccb that my >> driver had already completed. As I recall this would only happen under >> heavy load and it was pretty intermittant. As far as I know, it was >> never actually fixed. > > Actually, this is *extremely* relevant, if the firmware is still doing > it and the DPT driver isn't aware of this. This would normally cause a 'biodone: buffer already done' message, which is a warning, not a panic. The only way I could think of this happening on a valid buffer (apart from the obvious of calling it while it wasn't busy) would be if something messed around with other buffer flags. I haven't been following this thread very carefully--were the panics associated with SMP only? If so, how is mutual exclusion performed in the bottom half of SMP drivers? Greg -- See complete headers for address and phone numbers finger grog@lemis.com for PGP public key To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message