From owner-freebsd-current@FreeBSD.ORG Fri Jun 1 06:37:08 2007 Return-Path: X-Original-To: current@freebsd.org Delivered-To: freebsd-current@FreeBSD.ORG Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 62B1816A421 for ; Fri, 1 Jun 2007 06:37:08 +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 2E19713C43E for ; Fri, 1 Jun 2007 06:37:08 +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 l516b6Qg023054 (version=TLSv1/SSLv3 cipher=DHE-DSS-AES256-SHA bits=256 verify=NO) for ; Fri, 1 Jun 2007 02:37:07 -0400 (EDT) (envelope-from jroberson@chesapeake.net) Date: Thu, 31 May 2007 23:37:01 -0700 (PDT) From: Jeff Roberson X-X-Sender: jroberson@10.0.0.1 To: current@freebsd.org Message-ID: <20070531232525.X799@10.0.0.1> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: Subject: Call for testers, significant sched_lock patch. X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 01 Jun 2007 06:37:08 -0000 I am going to commit a patch that goes significantly towards decomposing the scheduler lock into per-cpu scheduler locks. Before this, I would like it if a few more people would run it under more circumstances than I have. The patch is available at: http://people.freebsd.org/~jeff/threadlock.diff So far Kris Kennaway and myself have tested it fairly thoroughly on amd64 machines with 1-8 processors. We've mainly done various benchmarks as well as Peter Holm's stress2 suite. It has survived our testing so this isn't totally unstable code. I would like it if more people would test on any other architecture you have available. I have also tested with 4BSD and ULE with and without INVARIANTS and WITNESS. This patch should have 0 or almost 0 effect on performance. It sets the stage for a drop-in replacement for ULE that has per-cpu run queue locks. That scheduler has a sometimes dramatic effect on performance, depending on the workload. I'm mostly looking for regressions here and not any particular perf impact. Any questions on the design of the approach should be directed at the arch@ topics on the subject. Thanks, Jeff