Re: [patch 2/2] cpusets: add interleave_over_allowed option

Christoph Lameter
2007-10-26T17:37:37Z

On Fri, 26 Oct 2007, Lee Schermerhorn wrote:

> > With that MPOL_INTERLEAVE would be context dependent and no longer
> > needs translation. Lee had similar ideas. Lee: Could we make
> > MPOL_INTERLEAVE generally cpuset context dependent?
> >
>
> 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.

But this makes it cpuset dependent. The set of nodes is dependent on the
cpuset. If it would be independent then interleave could allow any nodes
outside of the cpuset.

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

Hmmm.. But its an API change and requires more special casing.

> 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?

Yes very likely.