You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@apr.apache.org by Justin Erenkrantz <je...@ebuilt.com> on 2001/09/17 01:36:40 UTC

Solaris 8 and 9 thread libraries was Re: [proposal] apr_thread_setconcurrency()

On Sun, Sep 16, 2001 at 04:12:58PM -0700, Justin Erenkrantz wrote:
> Yup.   More precisely /usr/lib/lwp/libthread.so is the "alternate"
> version and /usr/lib/libthread.so is the "default" version.  They
> are binary compatible (as far as we care) - therefore the
> LD_LIBRARY_PATH trick works.  With Solaris 8 (first one to have
> this alternate version), the default is to use LWPs and the 
> alternate is bound threads.  AFAIK, Solaris 9 switches them.

% uname -srvm
SunOS 5.9 Beta sun4u
% ls -l /usr/lib/lwp/libthread.so.1 /usr/lib/libthread.so.1
-rwxr-xr-x   1 root     bin       129168 Jun 20 10:40 /usr/lib/libthread.so.1
lrwxrwxrwx   1 root     root          17 Aug 29 16:41 /usr/lib/lwp/libthread.so.1 -> ../libthread.so.1

% uname -srvm
SunOS 5.8 Generic_108529-09 i86pc
jerenkrantz@boris% ls -l /usr/lib/lwp/libthread.so.1 /usr/lib/libthread.so.1
-rwxr-xr-x   1 root     bin       170724 Jan 24  2001 /usr/lib/libthread.so.1
-rwxr-xr-x   1 root     bin       108620 Feb 22  2001 /usr/lib/lwp/libthread.so.1

As you can see, the alternate threading library on Solaris 9 just points
to /usr/lib/libthread.so.1.  Based on what I can see, LWPs are still 
present, but the performance characteristics and functions executed 
*looks* like it is a bound thread implementation.  I don't have access 
to the source code, so I have no clue what is going on.  -- justin


Re: Solaris 8 and 9 thread libraries was Re: [proposal] apr_thread_setconcurrency()

Posted by Brian Pane <bp...@pacbell.net>.
Justin Erenkrantz wrote:

>On Sun, Sep 16, 2001 at 04:12:58PM -0700, Justin Erenkrantz wrote:
>
>>Yup.   More precisely /usr/lib/lwp/libthread.so is the "alternate"
>>version and /usr/lib/libthread.so is the "default" version.  They
>>are binary compatible (as far as we care) - therefore the
>>LD_LIBRARY_PATH trick works.  With Solaris 8 (first one to have
>>this alternate version), the default is to use LWPs and the 
>>alternate is bound threads.  AFAIK, Solaris 9 switches them.
>>
>
>% uname -srvm
>SunOS 5.9 Beta sun4u
>% ls -l /usr/lib/lwp/libthread.so.1 /usr/lib/libthread.so.1
>-rwxr-xr-x   1 root     bin       129168 Jun 20 10:40 /usr/lib/libthread.so.1
>lrwxrwxrwx   1 root     root          17 Aug 29 16:41 /usr/lib/lwp/libthread.so.1 -> ../libthread.so.1
>
>% uname -srvm
>SunOS 5.8 Generic_108529-09 i86pc
>jerenkrantz@boris% ls -l /usr/lib/lwp/libthread.so.1 /usr/lib/libthread.so.1
>-rwxr-xr-x   1 root     bin       170724 Jan 24  2001 /usr/lib/libthread.so.1
>-rwxr-xr-x   1 root     bin       108620 Feb 22  2001 /usr/lib/lwp/libthread.so.1
>
>As you can see, the alternate threading library on Solaris 9 just points
>to /usr/lib/libthread.so.1.  Based on what I can see, LWPs are still 
>present, but the performance characteristics and functions executed 
>*looks* like it is a bound thread implementation.  I don't have access 
>
That sounds like what I'd expect, based on earlier descriptions of how
Solaris 9 would have a single-layer thread model by default: presumably
they kept the LWP architecture (which seems rather an integral part of
the kernel's process management) and modified the thread and pthread libs
to make user-layer threads automatically bound to LWPs.

--Brian