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

David Rientjes
2007-10-26T20:46:17Z

On Fri, 26 Oct 2007, Paul Jackson wrote:

> Without at least this sort of change to MPOL_INTERLEAVE nodemasks,
> allowing either empty nodemasks (Lee's proposal) or extending them
> outside the current cpuset (what I'm cooking up now), there is no way
> for a task that is currently confined to a single node cpuset to say
> anything about how it wants be interleaved in the event that it is
> subsequently moved to a larger cpuset. Currently, such a task is only
> allowed to pass exactly one particular nodemask to set_mempolicy
> MPOL_INTERLEAVE calls, with exactly the one bit corresponding to its
> current node. No useful information can be passed via an API that only
> allows a single legal value.
>

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

David