From owner-cvs-all@FreeBSD.ORG Mon Oct 20 08:56:20 2003 Return-Path: Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 923D216A4BF for ; Mon, 20 Oct 2003 08:56:20 -0700 (PDT) Received: from smtp.mho.com (smtp.mho.net [64.58.4.6]) by mx1.FreeBSD.org (Postfix) with SMTP id 9BAF643FBF for ; Mon, 20 Oct 2003 08:56:18 -0700 (PDT) (envelope-from scottl@freebsd.org) Received: (qmail 77016 invoked by uid 1002); 20 Oct 2003 15:56:17 -0000 Received: from unknown (HELO ?10.4.1.5?) (64.58.1.252) by smtp.mho.net with SMTP; 20 Oct 2003 15:56:17 -0000 Date: Mon, 20 Oct 2003 09:57:54 -0600 (MDT) From: Scott Long X-X-Sender: scottl@pooker.samsco.home To: David Malone In-Reply-To: <200310200848.aa99929@salmon.maths.tcd.ie> Message-ID: <20031020095412.F49719@pooker.samsco.home> References: <200310200848.aa99929@salmon.maths.tcd.ie> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: "Alan L. Cox" cc: src-committers@freebsd.org cc: cvs-all@freebsd.org cc: cvs-src@freebsd.org Subject: Re: cvs commit: src/sys/dev/streams streams.csrc/sys/kernkern_descrip.csrc/sys/opencrypto cryptodev.c X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 20 Oct 2003 15:56:20 -0000 On Mon, 20 Oct 2003, David Malone wrote: > > > This reminds me that we still hold Giant around pipe(2) because it isn't > > > declared MPSAFE in the syscall table. Is this still necessary? > > > I've been suspicious of this too, and I was hoping that you would have > > an answer. Can we go ahead and correct this? > > I think we may need to check the calling of pipeclose() in pipe(), > but as this is only done in an error case, it is probably safe enough > to just grab Giant for that. (The mac_* calls may need to be checked > too). pipeclose() seems to have some concept of locking, though I don't know what the implications are of it saying, 'gee, the mutex on this pipe was never initialized, so I just won't worry about locking.' Towards the end of pipeclose() Giant is acquired, though that action is likely no longer needed either. Just for fun I'll modify this today and do some stress tests. Having pipes free of Giant for 5.2 would be nice. Scott