Le 12/09/2011 13:58, Gabriele Fatigati a écrit :
Hi Brice,

but in the manual is not written that get_cpubind() returns the logical OR of the binding of all threads... I ever understand that returns the bind of the calloer, where the caller can be process or thread..

A process is a container that contains one or several threads. The binding is where something can run. It's normal that "where a process can run" is "where any of its threads can run", which means it's the logical OR of their binding.

I'm mixing bind of process and threads, and I've noted that if the process and thread are on the same NUMA node, works well, also on different cores.

If the NUMA node of process is different of NUMA node of threads, there is a problem.

Well, the first thing to understand is what you're trying to do here. In the vast majority of cases, binding a thread outside of the binding of the corresponding process looks like buggy programming.