From owner-freebsd-threads@FreeBSD.ORG Thu Jan 6 09:15:58 2005 Return-Path: Delivered-To: freebsd-threads@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D88E516A4CE; Thu, 6 Jan 2005 09:15:58 +0000 (GMT) Received: from silver.he.iki.fi (helenius.fi [193.64.42.241]) by mx1.FreeBSD.org (Postfix) with ESMTP id E304643D60; Thu, 6 Jan 2005 09:15:57 +0000 (GMT) (envelope-from pete@he.iki.fi) Received: from [193.64.42.134] (h86.vuokselantie10.fi [193.64.42.134]) by silver.he.iki.fi (8.13.1/8.11.4) with ESMTP id j069FuDt072343; Thu, 6 Jan 2005 11:15:56 +0200 (EET) (envelope-from pete@he.iki.fi) Message-ID: <41DD01CE.70004@he.iki.fi> Date: Thu, 06 Jan 2005 11:15:58 +0200 From: Petri Helenius User-Agent: Mozilla Thunderbird 1.0 (Windows/20041206) X-Accept-Language: en-us, en MIME-Version: 1.0 To: David Xu References: <41DCEA91.6040402@he.iki.fi> <41DCFD2F.2040207@freebsd.org> In-Reply-To: <41DCFD2F.2040207@freebsd.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit cc: freebsd-threads@freebsd.org Subject: Re: higher speed mutexes X-BeenThere: freebsd-threads@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Threading on FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Jan 2005 09:15:59 -0000 David Xu wrote: > I will have low overhead pthread library available soon, for > simple mutex, it is only an atomic_cmpset_long() plus a function > call (pthread_mutex_lock) overhead. > Sounds great. Will this change the performance of rwlocks or is simple mutex preferred for performance sensitive applications? Is this something that I could drop on top of RELENG_5 or RELENG_5_3 or is CURRENT required? Do you have this in some public depository already? Pete > David Xu > > Petri Helenius wrote: > >> >> Hi, >> >> I have some low-contention mutexes which I'm trying to make perform >> better and I'm wondering if the current threading library does have >> some primitives I could use or if I'm better off using >> atomic_cmpset_* and pthread_yield() if the thread hit's contention >> (which should be about 1:10000 of the lock/unlock operation). >> >> Any scheduling caveats from above, except obviously it would spin >> while waiting for the lock. Most systems I plan on running this on >> have dual-hypethreading CPU's. >> >> I remember there were some discussion about dropping i386 compatible >> support for mutexes and using atomic operations instead. Is there >> code/compile time options for this on a branch I could check out and >> give it a spin? >> >> Pete >> >> _______________________________________________ >> freebsd-threads@freebsd.org mailing list >> http://lists.freebsd.org/mailman/listinfo/freebsd-threads >> To unsubscribe, send any mail to >> "freebsd-threads-unsubscribe@freebsd.org" >> >> >