Skip site navigation (1)Skip section navigation (2)
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>