nptl 0.2
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Now that the Linux kernel is once again able to run all the tests we have and since glibc 2.3 was released it was time for a new code drop. I've uploaded the second code drop for the Native POSIX Thread Library:
ftp://people.redhat.com/drepper/nptl/nptl-0.2.tar.bz2
You need
- - the latest of Linus' kernel from BitKeeper (or 2.5.41 when it is released);
- - glibc 2.3
- - the very latest in tools such as
+ gcc either from the current development branch or the gcc 3.2
from Red Hat Linux 8;
+ binutils preferrably from CVS, from H.J. Lu's latest release for Linux, or from RHL 8.
Compiling glibc should proceed smoothly. But there are a number of tests which fail, mostly because some functionality is missing in glibc. Ignore those errors. It is only important that all tests in nptl/ are passing. Run
make subdirs=nptl check
to run all thread tests.
This version features several improvements:
- - all APIs are now implemented;
- - fork handling has been improved; stacks in the child are freed; atfork handlers are removed if they were registered from a module which gets unloaded.
- - pthread_tryjoin_np and pthread_timedjoin_np are implemented
- - TSD handling corrected and optimized.
- - many more tests which also test the underlying kernel implementation.
- - the build infrastructure has been implemented so that the DSO and archives are built in usable form and with correct named.
- - libthread_db has been implemented. This is the library which is needed by all program which need to get access to internals of libpthread (mainly debuggers).
- - the CPU clock functions are implemented
The white paper hasn't yet been updated. It's still available at
http://people.redhat.com/drepper/nptl-design.pdf
This release should be ready for some serious testing. I know it is hard to compile which I why I'm looking into providing binary RPMs. They can be used on non-critical systems. I'll only be able to provide binaries for RHL8 based systems, though, and the kernel still must be installed separately.
The next steps will include:
- - write more tests and fix the bugs which are discovered this way
- - update the white paper
- - write and run more performance tests
- - port to IA-64
Interested parties are once again invited to join the mailing we created:
Go to
https://listman.redhat.com/mailman/listinfo/phil-list
to subscribe, unsubscribe, or review the archive.
- --
- --------------. ,-. 444 Castro Street
Ulrich Drepper \ ,-----------------' \ Mountain View, CA 94041 USA
Red Hat --' drepper at redhat.com ---------------------------
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.7 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iD8DBQE9nVGj2ijCOnn/RHQRAqhJAJ45TBsM9wbUgiexxQzumVeIhxVhjQCfcf2N yUt+9E2F9gsz9xcBiVau9SY=
=AKML
-----END PGP SIGNATURE-----
Quoted 1 line · Ulrich Drepper
You need
[...]
Quoted 7 lines
- - the very latest in tools such as
+ gcc either from the current development branch or the gcc 3.2
from Red Hat Linux 8;+ binutils preferrably from CVS, from H.J. Lu's latest release for Linux, or from RHL 8.
or from Mandrake 9.0...
Quoted 5 lines · Jeff Garzik
Quoted 1 line · Ulrich Drepper
You need
[...]
Quoted 2 lines
- - the very latest in tools such as
Quoted 7 lines
Quoted 5 lines
+ gcc either from the current development branch or the gcc 3.2
from Red Hat Linux 8;+ binutils preferrably from CVS, from H.J. Lu's latest release for Linux, or from RHL 8.
or from Mandrake 9.0...
Actually, even RHL 8.0 and Mdk 9.0 binutils are too old, there were important TLS bugfixes since then.
So either you need latest H.J. Lu's test release:
ftp://ftp.kernel.org/pub/linux/devel/binutils/test/binutils-2.13.90.0.6.tar.bz2 or my binutils rpms which have these patches backported:
ftp://people.redhat.com/jakub/binutils/2.13.90.0.4-1/
Jakub
Quoted 8 lines · On 2002.10.04 Ulrich Drepper wrote:
Now that the Linux kernel is once again able to run all the tests we have and since glibc 2.3 was released it was time for a new code drop. I've uploaded the second code drop for the Native POSIX Thread Library:
ftp://people.redhat.com/drepper/nptl/nptl-0.2.tar.bz2
Fine !!
Quoted 1 line
You need
This is the hard part...
Quoted 4 lines
- - the latest of Linus' kernel from BitKeeper (or 2.5.41 when it is released);
Mmmm...
Quoted 2 lines
- - glibc 2.3
Easy. I suppose it is binary compatible with 2.2.5.
Quoted 5 lines
- - the very latest in tools such as
+ gcc either from the current development branch or the gcc 3.2 from Red Hat Linux 8;
OK in my cooker.
Quoted 3 lines
+ binutils preferrably from CVS, from H.J. Lu's latest release for Linux, or from RHL 8.
Done.
Well, so you need:
- new binutils, easy to do.
- new gcc, already in Mandrake and RedHat (?? about SuSE and others)
- new glibc, probably the first update when Cooker and RawHide are unfrozen again. And it is a final release.
Problem is kernel 2.5. Too 'risky'.
I would like to ask again: could you state what new kernel features are needed (futexes, cpu-affinity syscalls, signalling changes...). Perhaps people can use 2.4 -ac or -aa trees (if for example nptl only needs futexes).
TIA
Signature · 4 lines
J.A. Magallon <[email protected]> \ Software is like sex: werewolf.able.es \ It's better when it's free Mandrake Linux release 9.0 (dolphin) for i586 Linux 2.4.20-pre8-jam2 (gcc 3.2 (Mandrake Linux 9.0 3.2-1mdk))
Quoted 4 lines · J.A. Magallon
Problem is kernel 2.5. Too 'risky'. I would like to ask again: could you state what new kernel features are needed (futexes, cpu-affinity syscalls, signalling changes...). Perhaps people can use 2.4 -ac or -aa trees (if for example nptl only needs futexes).
too many to list, really. It's more than 60 separate patches that went into 2.5 in the past 2 months that implement all the necessery infrastructure for NPTL-style 1:1 threading. Futexes had to be fixed too, so it's not like you could use the existing 2.4 futex patch for NPTL. I'll attempt a 2.4 backport of all the threading bits within the next couple of weeks, but it's not a matter of a couple of hours ...
but, 2.5 isnt all that bad these days, and Arjan is currently working on 2.5 kernel rpms, to make it even easier to try out. (it will be announced to phil-list once he's done.)
Ingo