From owner-freebsd-threads@FreeBSD.ORG Thu Feb 19 00:56:48 2004 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 CFD3C16A4CE for ; Thu, 19 Feb 2004 00:56:48 -0800 (PST) Received: from exchhz01.viatech.com.cn (ip-40-162-97-218.anlai.com [218.97.162.40]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9753643D1F for ; Thu, 19 Feb 2004 00:55:40 -0800 (PST) (envelope-from davidxu@freebsd.org) Received: from freebsd.org (DAVIDWNT [10.4.1.99]) by exchhz01.viatech.com.cn with SMTP (Microsoft Exchange Internet Mail Service Version 5.5.2650.21) id FHN0J507; Thu, 19 Feb 2004 16:52:20 +0800 Message-ID: <4034793E.8040105@freebsd.org> Date: Thu, 19 Feb 2004 16:52:14 +0800 From: David Xu User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.5b) Gecko/20030723 Thunderbird/0.1 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Mike Makonnen References: <20040219062850.GC1074@mobile.acs-et.com> In-Reply-To: <20040219062850.GC1074@mobile.acs-et.com> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit cc: freebsd-threads@freebsd.org Subject: Re: libthr patch 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, 19 Feb 2004 08:56:48 -0000 Yes, I think sigwait is too slow for synchronizing, it is better to use dedicated function, this looks fine for me. David Xu Mike Makonnen wrote: >Hello folks, > >The following patch stops libthr from using signals for syncronizng threads. >I've tested it localy and have seen *really large* performance >improvements in heavy thread/mutex contention situations. I'm interested >in hearing your experiences. > >P.S. - The patch to the kernel applies two new syscalls so you must > regenerate some files *after* applying the patch. Do the following: > cd /usr/src/sys/kern > sh makesyscalls.sh syscalls.master > cd /usr/src/sys/compat/freebsd32 > sh ../../kern/makesyscalls.sh syscalls.master syscalls.conf > > and then build your kernel in the usual way. > >Cheers. > >