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).