From owner-freebsd-arch Tue Aug 20 11:51:18 2002 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 C7A9D37B401; Tue, 20 Aug 2002 11:51:13 -0700 (PDT) Received: from elvis.mu.org (elvis.mu.org [192.203.228.196]) by mx1.FreeBSD.org (Postfix) with ESMTP id D748A43EC2; Tue, 20 Aug 2002 11:46:26 -0700 (PDT) (envelope-from mux@freebsd.org) Received: by elvis.mu.org (Postfix, from userid 1920) id A7A73AE1EE; Tue, 20 Aug 2002 11:46:24 -0700 (PDT) Date: Tue, 20 Aug 2002 11:46:24 -0700 From: Maxime Henrion To: arch@freebsd.org Cc: bright@mu.org, bde@freebsd.org, iedowse@freebsd.org, gallatin@freebsd.org Subject: Re: Solving the stack gap issue Message-ID: <20020820184624.GB86074@elvis.mu.org> References: <200208171918.aa72556@salmon.maths.tcd.ie> <20020818055951.N12475-100000@gamplex.bde.org> <15714.17605.575558.398279@grasshopper.cs.duke.edu> <20020820153515.GL75574@elvis.mu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20020820153515.GL75574@elvis.mu.org> User-Agent: Mutt/1.3.27i Sender: owner-freebsd-arch@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Alfred Perlstein wrote: > * Andrew Gallatin [020820 06:32] wrote: > > > > For example, why do we check MPSAFE and conditionally grab and release > > GIANT in syscall instead of just grabbing/releasing it in the syscall > > itself? A few thousand instructions worth of bloat might be worth 2 > > compares in the critical path.. Also, if the copyin fails, why do we > > not just set the ret value and jump past the call, rather than setting > > error and doing an extra compare a few lines later? > > Grunt work that just needs to be done. I can take a shot at it > if no one else is currently. I've already started working on this in my mux_giant branch. I was very busy with nmount these days so I didn't touch it since quite long, but I knon jhb has been IFC'ing it not so long ago. This branch removes the acquiring and releasing of Giant in syscall() and let the syscalls lock it if they need to. It also removes the 'M' prefix from the syscalls.master file. Feel free to use that branch if you want to work on this stuff. Cheers, Maxime To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message