cvs commit: src/lib/libpthread/arch/ia64/ia64 context.S
Daniel Eischen
eischen at vigrid.com
Fri Jun 27 05:07:47 PDT 2003
On Fri, 27 Jun 2003, Daniel Eischen wrote:
> On Thu, 26 Jun 2003, Marcel Moolenaar wrote:
> > marcel 2003/06/26 23:15:13 PDT
> >
> > FreeBSD src repository
> >
> > Modified files:
> > lib/libpthread/arch/ia64/ia64 context.S
> > Log:
> > Implement _ia64_save_context() and _ia64_restore_context(). Both
> > functions are derived from the swapctx() and restorectx() (resp)
> > from sys/ia64/ia64/context.s. The code is expected to be 99%
> > correct, but has not yet been tested.
> >
> > Note that with these functions operating on mcontext_t, we also
> > created the foundation upon which we can implement getcontext(2)
> > and setcontext(2) replacements. It's not guaranteed that the use
> > of these syscalls and _ia64_{save|restore}_context() on the same
> > uicontext_t is actually going to work. Replacing the syscalls is
> > now trivially achieved.
>
> For libkse anyways, [gs]etcontext(2) (or library versions of them)
> are only used when delivering signals, and even then only under
> certain circumstances (when signals are deferred due to being
> in critical regions, I think). So there shouldn't really be
> any impact for not having userland versions of these syscalls.
Blech. I really should have my coffee before replying to email.
We _do_ now use getcontext() (THR_GETCONTEXT) for the common case
of switching to another thread without entering the UTS scheduler
(e.g., the current thread yields in some way). Sorry for the
confusion.
--
Dan Eischen
More information about the cvs-src
mailing list