Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 05 Jun 1998 16:01:08 -0400 (EDT)
From:      Simon Shapiro <shimon@simon-shapiro.org>
To:        Mike Smith <mike@smith.net.au>
Cc:        Greg Lehey <grog@lemis.com>, Bob Willcox <bob@luke.pmr.com>, Karl Pielorz <kpielorz@tdx.co.uk>, tcobb <tcobb@staff.circle.net>, "freebsd-current@freebsd.org" <freebsd-current@FreeBSD.ORG>, Michael Hancock <michaelh@cet.co.jp>
Subject:   Re: DPT driver fails and panics with Degraded Array
Message-ID:  <XFMail.980605160108.shimon@simon-shapiro.org>
In-Reply-To: <199806041741.KAA00849@dingo.cdrom.com>

next in thread | previous in thread | raw e-mail | index | archive | help

On 04-Jun-98 Mike Smith wrote:
>> 
>> 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.

I will not swear the driver does not call biodone twice (in error), but I
could never prove that it does.  Neither from logical/code  analysis, nor
from observation.

Simon


---


Sincerely Yours, 

Simon Shapiro                                           Shimon@Simon-Shapiro.ORG
                                                        770.265.7340

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?XFMail.980605160108.shimon>