From owner-freebsd-threads@FreeBSD.ORG Fri Dec 21 08:10:25 2007 Return-Path: Delivered-To: freebsd-threads@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C25F916A41A; Fri, 21 Dec 2007 08:10:25 +0000 (UTC) (envelope-from davidxu@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id B3F0513C43E; Fri, 21 Dec 2007 08:10:25 +0000 (UTC) (envelope-from davidxu@FreeBSD.org) Received: from apple.my.domain (root@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.2/8.14.2) with ESMTP id lBL8ALAQ052474; Fri, 21 Dec 2007 08:10:23 GMT (envelope-from davidxu@freebsd.org) Message-ID: <476B752E.8030101@freebsd.org> Date: Fri, 21 Dec 2007 16:11:26 +0800 From: David Xu User-Agent: Thunderbird 2.0.0.9 (X11/20071211) MIME-Version: 1.0 To: Ariff Abdullah References: <200712210700.lBL707MZ002071@freefall.freebsd.org> <476B6E35.508@freebsd.org> <20071221155123.53f593a2.ariff@FreeBSD.org> In-Reply-To: <20071221155123.53f593a2.ariff@FreeBSD.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: deischen@FreeBSD.org, Kuteynikov Dmitriy , freebsd-threads@FreeBSD.org Subject: Re: threads/118910: Multithreading problem X-BeenThere: freebsd-threads@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Threading on FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Dec 2007 08:10:25 -0000 Ariff Abdullah wrote: > On Fri, 21 Dec 2007 15:41:41 +0800 > David Xu 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 ........