From owner-freebsd-arch Tue Aug 20 18:12: 3 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 6EEAB37B400 for ; Tue, 20 Aug 2002 18:12:02 -0700 (PDT) Received: from elvis.mu.org (elvis.mu.org [192.203.228.196]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2C47E43E72 for ; Tue, 20 Aug 2002 18:12:02 -0700 (PDT) (envelope-from mux@freebsd.org) Received: by elvis.mu.org (Postfix, from userid 1920) id F2AE5AE147; Tue, 20 Aug 2002 18:12:01 -0700 (PDT) Date: Tue, 20 Aug 2002 18:12:01 -0700 From: Maxime Henrion To: arch@freebsd.org Cc: tlambert2@mindspring.com Subject: Re: Solving the stack gap issue Message-ID: <20020821011201.GC86074@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> <20020820184624.GB86074@elvis.mu.org> <3D62D292.D0F3FEE6@mindspring.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <3D62D292.D0F3FEE6@mindspring.com> 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 Terry Lambert wrote: > Maxime Henrion wrote: > > 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. > > I thought this was already do-able on a call by call basis? From > sysent.h: [ripped code] I'm aware of this flag, the subject of this thread was about *removing* it and let the syscalls acquire Giant on an invidual basis. > It seems to me that SYF_MPSAFE is the flag you want to look at to > decide whether you want to grab giant or not? If not, it'd be > really easy to add up to 15 more flags... one I had been considering > was interruptability, and another was a 2 bit hint as to whether the > call was non-blocking, might block, or would block (for use by the > new threads code, to decide on whether to allocate a fake, delayed, > or up-front blocking context). Cheers, Maxime To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message