Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 10 Apr 2002 16:26:12 +0100 (BST)
From:      Doug Rabson <dfr@nlsystems.com>
To:        Jake Burkholder <jake@locore.ca>
Cc:        John Baldwin <jhb@freebsd.org>, Peter Wemm <peter@freebsd.org>, Perforce Change Reviews <perforce@freebsd.org>
Subject:   Re: PERFORCE change 9504 for review
Message-ID:  <Pine.BSF.4.33.0204101621020.13943-100000@herring.nlsystems.com>
In-Reply-To: <20020410110650.C209@locore.ca>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 10 Apr 2002, Jake Burkholder wrote:

> Apparently, On Wed, Apr 10, 2002 at 09:06:18AM -0400,
> 	John Baldwin said words to the effect of;
>
> >
> > On 10-Apr-2002 Peter Wemm wrote:
> > > http://people.freebsd.org/~peter/p4db/chv.cgi?CH=9504
> > >
> > > Change 9504 by peter@peter_thunder on 2002/04/10 04:51:36
> > >
> > >       Use dfr's fix instead of my hack.  I expect he'll commit this to
> > >       freefall soon. :-)
> >
> > Yep, much better.  :)
>
> Well, now the flag checking code is duplicated in both the trap and syscall
> return paths, alpha is the same.  One wonders if the FRAME_SYSCALL optimization
> is actually worth all this complication.

I think its still worth it - it still does a lot less work in the common
case. Bear in mind that calling ast() is quite rare and being forced to do
a full exception restore (e.g. for a signal) is even rarer. A harmless
extra call to ast() in that case is unlikely to be noticable. Having said
that, for ia64 at least, it should be possible for the syscall to bypass
the ast() bits at the beginning of exception_restore(). As long as syscall
sets (p1,p2) to (1,0), it can jump to label 2 in exception_restore.

-- 
Doug Rabson				Mail:  dfr@nlsystems.com
					Phone: +44 20 8348 6160



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe p4-projects" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.33.0204101621020.13943-100000>