On Thu, 2007-10-25 at 17:28 -0700, Christoph Lameter wrote:
That's what my "cpuset-independent interleave" patch does. David
doesn't like the "null node mask" interface because it doesn't work with
libnuma. I plan to fix that, but I'm chasing other issues. I should
get back to the mempol work after today.
What I like about the cpuset independent interleave is that the "policy
remap" when cpusets are changed is a NO-OP--no need to change the
policy. Just as "preferred local" policy chooses the node where the
allocation occurs, my cpuset independent interleave patch interleaves
across the set of nodes available at the time of the allocation. The
application has to specifically ask for this behavior by the null/empty
nodemask or the TBD libnuma API. IMO, this is the only reasonable
interleave policy for apps running in dynamic cpusets.
An aside: if David et al [at google] are using cpusets on fake numa for
resource management [I don't know this is the case, but saw some
discussions way back that indicate it might be?], then maybe this
becomes less of an issue when control groups [a.k.a. containers] and
memory resource controls come to fruition?
Lee
-