Date: Tue, 20 Aug 2002 11:46:24 -0700 From: Maxime Henrion <mux@freebsd.org> 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> In-Reply-To: <20020820153515.GL75574@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>
next in thread | previous in thread | raw e-mail | index | archive | help
Alfred Perlstein wrote: > * Andrew Gallatin <gallatin@cs.duke.edu> [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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020820184624.GB86074>