At the first encounter, the Native POSIX Thread Library looks like ideal
grist for the Red Hat basher's mill. The library appears to have sprung
fully formed from the head of glibc maintainer (and Red Hat employee)
Ulrich Drepper, who has made his plans clear:
Unless major flaws in the design are found this code is intended to
become the standard POSIX thread library on Linux system and it
will be included in the GNU C library distribution.
Installing this library is not easy, since it requires some fairly
bleeding-edge software: a 2.5.36 kernel, gcc 3.2, and a current
glibc 2.3 snapshot. In fact, the "only environment known to date
which works" is an updated version of the "(Null)" Red Hat beta. And, of
course, this development has seemingly ignored the longstanding efforts of
the Next Generation
POSIX Threading project, which is at release 2.0.2.
A certain (relatively small) amount of grumbling along these lines has been
seen on the net. But it's uncalled for.
NPTL was developed independently from NGPT for a straightforward reason:
the NPTL developers wanted to try a very different approach. NGPT is
designed around the M:N model, which, as noted above, NPTL avoids. There
was no way to integrate the NPTL approach into NGPT without massive
changes. The NPTL developers did, however, work with the NGPT
hackers with regard to the kernel changes; those enhancements will benefit
both projects in the end.
A new library at version 0.1 can probably be forgiven for using
bleeding-edge tools; it is a bleeding-edge tool, after all. By the
time NPTL has stabilized, the environments available to users will have
caught up substantially. Ingo Molnar, author of the kernel side of the
NPTL work, tells us that he intends to backport the kernel changes to the
2.4 kernel once things have stabilized in 2.5. (Whether 2.4 maintainer
Marcelo Tosatti will accept them is a separate issue, of course).
And, in the end, this development has been going on for less than two
months - it is a very new initiative.
This development shows some of the best aspects of the free software
model. Two hackers with some good ideas have proved those ideas in the way
the community accepts best: with code. We will all benefit from this
to post comments)