exclusive sleep mutex pcm0 (sound cdev) r = 0

Jun Kuriyama kuriyama at imgsrc.co.jp
Mon Feb 23 19:43:39 PST 2004


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 @ 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...


Index: vchan.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/sound/pcm/vchan.c,v
retrieving revision 1.16
diff -u -r1.16 vchan.c
--- vchan.c	28 Jan 2004 08:02:15 -0000	1.16
+++ vchan.c	24 Feb 2004 03:35:19 -0000
@@ -255,7 +255,7 @@
 
    	CHN_UNLOCK(parent);
 
-	pce = malloc(sizeof(*pce), M_DEVBUF, M_WAITOK | M_ZERO);
+	pce = malloc(sizeof(*pce), M_DEVBUF, M_NOWAIT | M_ZERO);
 	if (!pce) {
    		CHN_LOCK(parent);
 		return ENOMEM;


-- 
Jun Kuriyama <kuriyama at imgsrc.co.jp> // IMG SRC, Inc.
             <kuriyama at FreeBSD.org> // FreeBSD Project


More information about the freebsd-current mailing list