I'd like to point out that it is libpthread and the arguments it passes
to clone(), NOT the Linux kernel version, that is the determining factor
(at least if you have a 2.6.x kernel). The "LinuxThreads"
implementation of Pthreads will give the one-pid-to-rule-them all
behavior, while the NPTL implementation gives unquie pids under any
2.6.x kernel and even w/ some 2.4.x kernels from Red Hat.
I have encountered systems on which dynamic linking gave NPTL and static
linking gave LinuxThreads. That is a "gottcha" that I am not certain
Jeff and Ralph have taken into account.
Note that I have no objection to "we don't support this", but fear that
detection of that situation may be flawed.
On 3/15/2011 2:14 PM, Ralph Castain wrote:
> Hi folks
> Jeff and I encountered a problem when cross-compiling OMPI for Linux. Turned out that we had an old test in the code that looked for threads to have different pids. Since it couldn't be tested when cross-compiling, the test simply assumed this was the case for Linux under those conditions - which broke the build for current Linux kernels.
> Different pids for threads was last seen in the old RH 4 series (kernel 2.6.9 or so). Some code (e.g., waitpid) was also provided to support this unusual situation - this code was in fact broken when we updated the event library. So even if we were in an old kernel, the code base would neither compile nor run.
> Rather than trying to continue to support these old kernels, we have removed all the stale code that was covered by OPAL_THREADS_HAVE_DIFFERENT_PIDS. This removed some complexity from a few PLM modules and removed the broken code.
> Jeff modified the corresponding .m4 test so we now detect an older kernel, print out a nice "we don't support this" message (along with noting that earlier versions of OMPI do), and then abort the build.
> If you know of some reason to restore support for old Linux kernels, and someone willing to do the work to "refresh" that support, please let us know.
> Ralph& Jeff
> devel mailing list
Paul H. Hargrove PHHargrove_at_[hidden]
Future Technologies Group
HPC Research Department Tel: +1-510-495-2352
Lawrence Berkeley National Laboratory Fax: +1-510-486-6900