Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 10 Apr 2002 20:19:56 +0100 (BST)
From:      Doug Rabson <dfr@nlsystems.com>
To:        Peter Wemm <peter@wemm.org>
Cc:        Jake Burkholder <jake@locore.ca>, John Baldwin <jhb@freebsd.org>, Perforce Change Reviews <perforce@freebsd.org>
Subject:   Re: PERFORCE change 9504 for review 
Message-ID:  <20020410201934.D16912-100000@salmon.nlsystems.com>
In-Reply-To: <20020410191220.92F753810@overcee.wemm.org>

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

> Doug Rabson wrote:
> > 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 optimiza
>     tion
> > > 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.
>
> John asked an awkward question a while ago..  What happens if the ast()
> call in the back of the fast syscall return path changes the frame type?
> eg: it posted a signal and turned off the FRAME_SYSCALL bit.  We'll continue
> with the fast return, right?  Is this good or bad?

Nonono. We check the frame type *after* the call to ast()...

-- 
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?20020410201934.D16912-100000>