From owner-freebsd-arch@FreeBSD.ORG Sat May 10 10:26:11 2003 Return-Path: Delivered-To: freebsd-arch@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 59EF637B401; Sat, 10 May 2003 10:26:11 -0700 (PDT) Received: from HAL9000.homeunix.com (12-233-57-131.client.attbi.com [12.233.57.131]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9712E43FA3; Sat, 10 May 2003 10:26:10 -0700 (PDT) (envelope-from das@FreeBSD.ORG) Received: from HAL9000.homeunix.com (localhost [127.0.0.1]) by HAL9000.homeunix.com (8.12.9/8.12.5) with ESMTP id h4AHQ9Q0031149; Sat, 10 May 2003 10:26:09 -0700 (PDT) (envelope-from das@FreeBSD.ORG) Received: (from das@localhost) by HAL9000.homeunix.com (8.12.9/8.12.5/Submit) id h4AHQ9ms031148; Sat, 10 May 2003 10:26:09 -0700 (PDT) (envelope-from das@FreeBSD.ORG) Date: Sat, 10 May 2003 10:26:09 -0700 From: David Schultz To: John Baldwin Message-ID: <20030510172609.GA29039@HAL9000.homeunix.com> Mail-Followup-To: John Baldwin , arch@freebsd.org References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: cc: arch@FreeBSD.ORG Subject: Re: [Bikeshed] sigacts locking X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 May 2003 17:26:11 -0000 On Fri, May 09, 2003, John Baldwin wrote: > As part of the locking for the proc structure, I needed to lock > the procsig and sigacts stuctures so that kill(), killpg(), > sigaction() and a few other system calls can be pulled out from > under Giant. After talking with Peter some, I decided to > pull the sigacts structure out of the u-area and merge it with > the procsig structure under the sigacts name. I then added a > mutex to each sigacts and added locking where appropriate. With > this change, the aforementioned system calls are now MP safe > along with sendsig(), *signal(), cursig(), etc. The patch for > all this is at http://www.FreeBSD.org/~jhb/patches/sigacts.patch > I would appreciate comments, review, etc. that people may have. > If all goes well I hope to get this into 5.1. Thanks. It occurs to me that this leaves very little in the uarea. You have a struct pstats, which is less than 256 bytes, and you have the kinfo_proc, which shouldn't need to be there anyway. Perhaps now would also be a good time to get rid of uarea swapping and the associated complexity altogether.