Skip site navigation (1)Skip section navigation (2)
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>