Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 27 Jun 2003 08:07:45 -0400 (EDT)
From:      Daniel Eischen <eischen@vigrid.com>
To:        Marcel Moolenaar <marcel@FreeBSD.org>
Cc:        cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src/lib/libpthread/arch/ia64/ia64 context.S
Message-ID:  <Pine.GSO.4.10.10306270802290.28032-100000@pcnet5.pcnet.com>
In-Reply-To: <Pine.GSO.4.10.10306270644460.17094-100000@pcnet5.pcnet.com>

next in thread | previous in thread | raw e-mail | index | archive | help
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



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