From owner-freebsd-arch@FreeBSD.ORG Fri Jun 1 19:23:37 2007 Return-Path: X-Original-To: arch@freebsd.org Delivered-To: freebsd-arch@FreeBSD.ORG Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 6F2BA16A469 for ; Fri, 1 Jun 2007 19:23:37 +0000 (UTC) (envelope-from jroberson@chesapeake.net) Received: from webaccess-cl.virtdom.com (webaccess-cl.virtdom.com [216.240.101.25]) by mx1.freebsd.org (Postfix) with ESMTP id 20BC913C447 for ; Fri, 1 Jun 2007 19:23:37 +0000 (UTC) (envelope-from jroberson@chesapeake.net) Received: from [192.168.1.101] (c-71-231-138-78.hsd1.or.comcast.net [71.231.138.78]) (authenticated bits=0) by webaccess-cl.virtdom.com (8.13.6/8.13.6) with ESMTP id l51JNU2b091022 (version=TLSv1/SSLv3 cipher=DHE-DSS-AES256-SHA bits=256 verify=NO) for ; Fri, 1 Jun 2007 15:23:35 -0400 (EDT) (envelope-from jroberson@chesapeake.net) Date: Fri, 1 Jun 2007 12:23:25 -0700 (PDT) From: Jeff Roberson X-X-Sender: jroberson@10.0.0.1 To: arch@freebsd.org In-Reply-To: <20070531221856.B799@10.0.0.1> Message-ID: <20070601122118.B606@10.0.0.1> References: <20070531221856.B799@10.0.0.1> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: Subject: Re: Last chance for threadlock review. X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 01 Jun 2007 19:23:37 -0000 On Thu, 31 May 2007, Jeff Roberson wrote: > Next week I intend to commit the final scheduler lock decomposition patch. > Before that time I intend to: > > 1) Continue to test more variations on schedulers, architectures, > preemption, debugging features, and a buildworld or two. > > 2) Post the patch to current@ to appeal for more testers. Kris Kennaway and > myself have been hammering on it pretty hard but there are always cases that > are missed when it's only two individuals. > > 3) Solicit for more thorough review here! I haven't had much feedback on > the difficult parts of the patch. I really would like more eyes on it. Some > things to focus on: > a) Turnstile locking > b) sleepqueue locking > c) blocked lock > d) thread_lock() > e) New cpu_switch() argument. I assume adding an argument to a function > doesn't effect the assembly implementation if it is unused. I should add: f) Signals, which are already a mess, have had some code consolidated. Earlier on there were bugs in this. If you have any great ideas for simplifying the signal code I'm all ears. I have considered using the per-process spinlock to block the threads on when they are in the stopped state. This may reduce some of the locking further. Jeff > > After this diff goes in I will provide a copy of ULE for download that > actually implements per-cpu scheduler locks. So far the system has been > fully stable with my threadlock diff, however, there are still some problems > with the per-cpu locks in ULE. There are also some significant performance > wins depending on the workload. > > I also intend to produce some follow-on patches to improve rusage and add > more architecture support for the new cpu_switch(). Architectures that do > not implement the special cpu_switch() can not take advantage of the per-cpu > ULE but otherwise work. > > http://people.freebsd.org/~jeff/threadlock.diff > > Thanks, > Jeff > _______________________________________________ > freebsd-arch@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-arch > To unsubscribe, send any mail to "freebsd-arch-unsubscribe@freebsd.org" >