[KLUG Members] 2.6 and NPTL

Adam Williams members@kalamazoolinux.org
Tue, 04 Nov 2003 06:10:34 -0500


> Package: libc6-i686
> Maintainer: GNU Libc Maintainers <debian-glibc@lists.debian.org>
> Version: 2.3.2.ds1-9
> Description: GNU C Library: Shared libraries [i686 optimized]
> This package includes support for NPTL.  The optimized libraries will not
> be used unless you are using a 2.6 kernel.

Hasn't NPTL been out for awhile?  Or was that just a RedHat thing
(thought I read something about SuSe and NPTL)?

>  WARNING: Some commercial programs may not work well with these libraries.
>  Most notably, IBM's JDK. If you experience problems with such
>  applications, you will need to remove this package.

Sun's JDK works just dandy,

> Not anymore:
>   PID TTY      STAT   TIME COMMAND
>  3300 ?        S      0:13  \_ kdeinit: konsole         
>  3302 pts/0    S      0:00  |   \_ /bin/bash
>  3349 pts/0    S      1:49  |   |   \_ pan
> As you can see, Pan (the Pimp-A*s Newsreader) has one PID showing in the
> 'ps afxm' listing. Now we look in /proc/3349/status:
>   Name:	pan
....
>   Threads:	7
> Note the 'Threads: 7' entry 2/3's down. Pan is working fine. So are
> slapd and bind9's named. Neatly, each process showed the old,
> one-PID-per-thread listing until restarted, at which point their threads
> became invisible to ps. This is a small demonstration of how little
> interference the NPTL support in glibc creates.

Can you mark and change in performance? [ I still find the whole
PID/no-PID debate interesting, not certain which is conceptually
correct. ]

> A small overview of the NPTL features is here:
> http://lwn.net/Articles/10465/
> And many more details can be learned from its author:
> http://people.redhat.com/drepper/
> Adam will be interested to note that Ulrich Drepper's NPTL (benefitting
> from fellow Red Hatter Ingo Molnar's kernel work) beat out an IBM
> project, the NGPT (Next Generation POSIX Threading), for inclusion in
> glibc:
> http://www-124.ibm.com/pthreads/

And once again IBM is bieng the good community player and dropping
(more-or-less) thier own project and moving to support the
implementation accepted into the kernel.  Much like they did in the LVM
arena.
http://www-124.ibm.com/pthreads/docs/announcement