[OpenAFS-devel] lwp and pthreads

Derrick J Brashear shadow@dementia.org
Thu, 14 Jun 2001 18:20:03 -0400 (EDT)


On Thu, 14 Jun 2001, Chas Williams wrote:

> it seems that that ia64 setjmp/longjmp (as currently implemented) cannot
> be used to switch stacks.  this leaves three options (unless someone else
> has another suggestion):
> 
> 1. implement the savecontext/returnto via process.s
> 
> 2. add extra code around setjmp/longjmp sequences to preverse the needed info
> 
> 3. use the pthread version of lwp
> 
> i am leaning toward 3 here but do any of the ports actually use the pthread
> code in lwp?

you know about the other pthread version of lwp, the one included in arla,
right? basically the one in ibm afs assumes you ported your code to deal
with the possibility of pre-emption and it can successfully use multiple
kernel threads in that case, whereas the one in arla is a simple port to
allow existing lwp apps not ported in such a manner to use this wrapper
around pthreads as if it were just lwp.

The only problem I know of with it is some version of glibc at least on
x86 linux broke it, it worked with the libc5 pthreads, the early glibc
(2.0) pthreads and all vendor pthreads I tried it with. I never got a
chance to go back and try to figure out why.

-D