On Dec 2, 2008, at 11:27 AM, Edgar Gabriel wrote:

so I ran a couple of tests today and I can not confirm your statement. I wrote simple a simple test code where a process first sets an affinity mask and than spawns a number of threads. The threads modify the affinity mask and every thread ( including the master thread) print out there affinity mask at the end.

With sched_getaffinity() and sched_setaffinity() it was indeed such that the master thread had the same affinity mask as the thread that it spawned. This means, that the modification of the affinity mask by a new thread in fact did affect the master thread.

Executing the same codesquence however using the libnuma calls, the master thread however was not affected by the new affinity mask of the children. So clearly, libnuma must be doing something differently.

What distro/version of Linux are you using, and what version of libnuma?

Libnuma v2.0.x very definitely is just a wrapper around the syscall for sched_setaffinity(). I downloaded it from:

    ftp://oss.sgi.com/www/projects/libnuma/download

--
Jeff Squyres
Cisco Systems

Reply via email to