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

David Rientjes
2007-10-26T21:09:20Z

On Fri, 26 Oct 2007, Christoph Lameter wrote:

> > Well, passing a single node to set_mempolicy() for MPOL_INTERLEAVE doesn't
> > make a whole lot of sense in the first place. I prefer your solution of
> > allowing set_mempolicy(MPOL_INTERLEAVE, NODE_MASK_ALL) to mean "interleave
> > me over everything I'm allowed to access." NODE_MASK_ALL would be stored
> > in the struct mempolicy and used later on mpol_rebind_policy().
>
> So instead of an empty nodemask we would pass a nodemask where all bits
> are set? And they would stay set but the cpuset restrictions would
> effectively limit the interleaving to the allowed set?
>

You would pass NODE_MASK_ALL if your intent was to interleave over
everything you have access to, yes. Otherwise you can pass whatever you
want access to and your interleaved nodemask becomes
mpol_rebind_policy()'s newmask formal (the cpuset's new mems_allowed)
AND'd with pol->passed_nodemask.