Open MPI logo

Hardware Locality Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Hardware Locality Development mailing list

Subject: Re: [hwloc-devel] Pgcc issues fixed?
From: Samuel Thibault (samuel.thibault_at_[hidden])
Date: 2009-11-11 19:57:37


Jeff Squyres, le Mon 09 Nov 2009 08:05:47 -0500, a écrit :
> Fair enough. What about if we have an AC check for
> pthread_setaffinity_np and use that if it exists, and if it doesn't
> use the PLPA way?

Err, remember that pthread_setaffinity_np alone doesn't permit to bind
another process, and suffers from the same size parameter kludge (it has
been introduced in 2003).

> BTW, how does pthread_setaffinity_np() work? Does it check the
> running kernel and ensure to do the Right Thing?

Like sched_setaffinity does, yes.

> That was definitely a problem in the past -- kernel and glibc would
> mismatch in terms of set/getaffinity (which was included in many
> distros).

They have been fixed at the same time, 2004-03-18.

Maybe what we can do is using PLPA's functions if __GLIBC__ is <=
2 and __GLIBC_MINOR__ is < the first version which is known to be
correct or if CPU_SET can't be compiled, and rely on the glibc
functions else. Of course we have to rely on glibc in any case for
pthread_setaffinity_np().

Samuel