Re: exclusive sleep mutex pcm0 (sound cdev) r = 0

From: John Baldwin <jhb_at_FreeBSD.org>
Date: Tue, 24 Feb 2004 10:43:38 -0500
On Tuesday 24 February 2004 10:27 am, Don Lewis wrote:
> On 24 Feb, Jun Kuriyama wrote:
> > I got this warning on my current box:
> >
> > malloc() of "256" with the following non-sleepable locks held:
> > exclusive sleep mutex pcm0 (sound cdev) r = 0 (0xc73e63c0) locked _at_
> > dev/sound/pcm/dsp.c:213
> >
> > I think there is no need to wait in vchan_create().  If kernel does
> > not have resources to return small 256 bytes memory for sound device,
> > we are not in the situation to care whether sound is played correctly
> > or not...
>
> There are a bunch more problems with the "sound cdev" mutex, many of
> which can't be fixed by this type of change unless having sporadic sound
> system failures due to temporary malloc() failures is acceptable.
>
> I currently have some patches for the channel mutexes that are
> undergoing testing.  Once these have been committed, I'll take another
> look at the "sound cdev" mutex.  My current thought is to convert most
> uses of it to a lockmgr lock.

Eek, why not a sx lock if you must go to a sleepable lock?

-- 
John Baldwin <jhb_at_FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve"  =  http://www.FreeBSD.org
Received on Tue Feb 24 2004 - 06:42:19 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:44 UTC