Le 05/10/2010 10:24, Brice Goglin a écrit : > Thinking more about it, I don't know if it's a good idea. The > alternatives for the value of a nodeset containing the whole memory when > there are no NUMA nodes are: > 1) full nodeset (current behavior). The behavior is thus different in > non-NUMA and NUMA cases. It makes make check a bit more tricky, but this > may not matter in real applications unless they really play a lot with > nodesets (compare them, ...). > 2) Only mark first bit of the nodeset. That's what libnuma does. > Convenient in some cases, maybe not in others. > 3) Mark nothing since there are actually no NUMA nodes in the machine. >
4) Keep the nodeset pointer NULL. That's what we use for obj->nodeset and friends, and I think that's actually the best semantics. I think we should change the cpuset/nodeset conversion routines to follow this behavior (any cpuset is converted into a NULL nodeset when there are no NUMA node). Then we'd add an inline helper that handles the non-NUMA case (restore the current cpuset/nodeset conversion routine behavior by returning a full nodeset if the input cpuset isn't empty). Brice