Date: Thu, 15 Sep 2005 10:45:09 +0900 From: Pyun YongHyeon <pyunyh@gmail.com> To: Ariff Abdullah <skywizard@MyBSD.org.my> Cc: freebsd-current@freebsd.org, minimarmot@gmail.com Subject: Re: panic upon kldunload snd_ich (lor # 159) Message-ID: <20050915014509.GA17602@rndsoft.co.kr> In-Reply-To: <20050915033848.2d87da42.skywizard@MyBSD.org.my> References: <47d0403c05091121047a037946@mail.gmail.com> <20050912044212.GC5182@rndsoft.co.kr> <47d0403c05091122276fd0a231@mail.gmail.com> <20050913070149.GE9481@rndsoft.co.kr> <47d0403c0509131235ed58122@mail.gmail.com> <20050914014830.GA13631@rndsoft.co.kr> <20050915033848.2d87da42.skywizard@MyBSD.org.my>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Sep 15, 2005 at 03:38:48AM +0800, Ariff Abdullah wrote: > > On Wed, 14 Sep 2005 10:48:30 +0900 > Pyun YongHyeon <pyunyh@gmail.com> wrote: > > > > Thanks for testing. Fix committed to HEAD(sndstat.c rev. 1.21) > > > > [ .. ] > > > > AFAIK, the LOR is well known to sound developers. Though it's not real > > LOR(grabbing sx lock while holding mutex) it's difficult to fix. > > > > This is supposed to fix that LOR, I pressume. Please try that. > [...] > --- sys/dev/sound/pcm/sound.c.orig Tue Sep 13 02:58:27 2005 > +++ sys/dev/sound/pcm/sound.c Thu Sep 15 03:29:06 2005 > @@ -807,9 +807,9 @@ > chn_kill(d->fakechan); > fkchan_kill(d->fakechan); > > - sndstat_unregister(dev); > snd_mtxunlock(d->lock); > snd_mtxfree(d->lock); > + sndstat_unregister(dev); > return 0; > } > That would be supposed to fix the LOR message. But I'd like to keep lock ordering between snd_mutex and sndstat_lock. Since sndstat_read() could be called at any time there is an implicit lock order. I think switching to sx lock from mutex in sndstat code was to allow uiomove with lock held. IMO, it would be even better to rewrite sndstat_read() without using uiomove such that it can also use standard mutex rather than sx lock. -- Regards, Pyun YongHyeon
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050915014509.GA17602>