Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 04 Jun 1998 10:41:23 -0700
From:      Mike Smith <mike@smith.net.au>
To:        shimon@simon-shapiro.org
Cc:        Mike Smith <mike@smith.net.au>, Michael Hancock <michaelh@cet.co.jp>, "freebsd-current@freebsd.org" <freebsd-current@FreeBSD.ORG>, tcobb <tcobb@staff.circle.net>, Karl Pielorz <kpielorz@tdx.co.uk>, Bob Willcox <bob@luke.pmr.com>, Greg Lehey <grog@lemis.com>
Subject:   Re: DPT driver fails and panics with Degraded Array 
Message-ID:  <199806041741.KAA00849@dingo.cdrom.com>
In-Reply-To: Your message of "Thu, 04 Jun 1998 12:19:44 EDT." <XFMail.980604121944.shimon@simon-shapiro.org> 

next in thread | previous in thread | raw e-mail | index | archive | help
> 
> On 03-Jun-98 Mike Smith wrote:
> 
> ....
> 
> >> 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.
> > 
> > It would be an issue if the buf struct had been recycled, but hadn't 
> > yet been marked busy, or if the buf pointer was invalid (the business 
> > check is the very first check in biodone()).
> 
> Is this code surrounded by splhigh() ?  If not, it is entirely possible for
> that to happen.  Due to the caching/quieing nature of the DPT, especially
> the PM3334, and the multi-threaded nature of the DPT driver, for several
> interrupts to be issued less than 1us apart.  This means that there will be
> several hardware interrupts and several soft interrupts generated in a very
> short period of time.

The possibilities I mentioned above are only relevant if the DPT is 
calling biodone() more than once in error.  If you're confident that 
this is not happening, then the above is not relevant.

-- 
\\  Sometimes you're ahead,       \\  Mike Smith
\\  sometimes you're behind.      \\  mike@smith.net.au
\\  The race is long, and in the  \\  msmith@freebsd.org
\\  end it's only with yourself.  \\  msmith@cdrom.com



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199806041741.KAA00849>