Date: Sat, 2 Apr 2005 19:19:39 +0200 From: Bernd Walter <ticso@cicely12.cicely.de> To: Ian Dowse <iedowse@maths.tcd.ie> Cc: ticso@cicely.de Subject: Re: panic: uhci_abort_xfer: not in process context Message-ID: <20050402171938.GU2072@cicely12.cicely.de> In-Reply-To: <200504021632.aa50758@salmon.maths.tcd.ie> References: <20050402103624.GS2072@cicely12.cicely.de> <200504021632.aa50758@salmon.maths.tcd.ie>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Apr 02, 2005 at 04:32:50PM +0100, Ian Dowse wrote: > Just a few general comments on this: [...] > In summary: > non-blocking: good! > blocking: good! > blocking from non-blocking contexts: bad! I fully agree with you - in general. You see the inetrrupt routine as non-blocking context. Fine - abort_xfer is bad as it blocks for a long time - agreed. But we need any kind of syncronisation with top half. Although taking a mutex may block I don't consider it bad as it should not be hold for long time and therefor waiting a long time is unlikely. Allowing to wait for a Mutex in the bottom half is the whole reason we have interrupt threads. But that is the current problem - we are not even allowed to take a Mutex, just because intr_context isn't safe. The panic was triggered by a userland call that was claimed to be in interrupt context. OK - I was wrong in that it was not close, but that doesn't change anything with the basic problem: The panic triggered when it shouldn't. -- B.Walter BWCT http://www.bwct.de bernd@bwct.de info@bwct.de
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050402171938.GU2072>