Date: Fri, 21 Dec 2007 16:11:26 +0800 From: David Xu <davidxu@FreeBSD.org> To: Ariff Abdullah <ariff@FreeBSD.org> Cc: deischen@FreeBSD.org, Kuteynikov Dmitriy <kuteynikov@gmail.com>, freebsd-threads@FreeBSD.org Subject: Re: threads/118910: Multithreading problem Message-ID: <476B752E.8030101@freebsd.org> In-Reply-To: <20071221155123.53f593a2.ariff@FreeBSD.org> References: <200712210700.lBL707MZ002071@freefall.freebsd.org> <Pine.GSO.4.64.0712210228030.20251@sea.ntplx.net> <476B6E35.508@freebsd.org> <20071221155123.53f593a2.ariff@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Ariff Abdullah wrote: > On Fri, 21 Dec 2007 15:41:41 +0800 > David Xu <davidxu@FreeBSD.org> wrote: >> Daniel Eischen wrote: >>> On Fri, 21 Dec 2007, David Xu wrote: >>> >>>> The kernel condition variable implementation is problematic, a >>>> thread sleeping on a condition variable does not raise its >>> priority > to some I/O priority, but most code will raise thread's >>> priority to some > level with msleep(). The code in sound driver >>> use lots of cv_broadcast > call(), it does not raise thread >>> priority, this causes the music player > does not have more chances >>> to do I/O while other I/O bound applications > will have. > The critical that require raising the priority are using > cv_broadcastpri(), not cv_broadcast(). See sys/dev/sound/pcm/channel.h > . I know there is cv_broadcastpri, but I still think code in kernel should run first. :-) > > With all due respect, the original poster issue are more to fluxbox > non-opaque window dragging implementation which require locking the > entire X server through XGrab/UngrabServer(), which in turns > preventing other client windows to update their own gui, blocking the > entire client operation. It has little or nothing to do with > threading. > > Kuteynikov, go to fluxbox menu, and enable > "Opaque Window Moving/Dragging/Resizing" (or whatever it is). > OK. > > -- > Ariff Abdullah > FreeBSD > > ... Recording in stereo is obviously too advanced > and confusing for us idiot ***** users :P ........
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?476B752E.8030101>