/dev/soiund/pcm/dsp.c: uma_zalloc with non-sleepable lock held

Ariff Abdullah ariff at FreeBSD.org
Mon May 26 11:33:38 UTC 2008


On Mon, 26 May 2008 12:17:56 +0300
Kostik Belousov <kostikbel at gmail.com> wrote:
> On Mon, May 26, 2008 at 03:55:14PM +0800, Ariff Abdullah wrote:
> > On Sun, 25 May 2008 23:29:45 -0700
> > Xin LI <delphij at delphij.net> wrote:
[...]
> > 
> > It is something new. Let me examine it first.
> 
> Not quite. You cannot hold a mutex over the destroy_dev(), because
> the destroy_dev() may sleep. It was not very common situation,
> because it requires another thread still in the driver methods to
> trigger the problem. Now, because the malloc() is called
> unconditionally in the destroy_dev() since rev. 1.212, the problem
> gets hit regularly.
> 

I see. It's quite new to me since I haven't examine things thoroughly
since past few weeks. Thanks.

Xin Li, try this patch.


--
Ariff Abdullah
FreeBSD

... Recording in stereo is obviously too advanced
    and confusing for us idiot ***** users :P ........
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dsp.c.diff
Type: text/x-diff
Size: 622 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-current/attachments/20080526/49524135/dsp.c.bin


More information about the freebsd-current mailing list