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. > 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 > _at__at_ -255,7 +255,7 _at__at_ > > 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; > >Received on Tue Feb 24 2004 - 06:27:30 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:44 UTC