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

David Rientjes
2007-10-26T21:19:23Z

On Fri, 26 Oct 2007, Lee Schermerhorn wrote:

> You don't need to save the entire mask--just note that NODE_MASK_ALL was
> passed--like with my internal MPOL_CONTEXT flag. This would involve
> special casing NODE_MASK_ALL in the error checking, as currently
> set_mempolicy() complains loudly if you pass non-allowed nodes--see
> "contextualize_policy()". [mbind() on the other hand, appears to allow
> any nodemask, even outside the cpuset. guess we catch this during
> allocation.] This is pretty much the spirit of my patch w/o the API
> change/extension [/improvement :)]
>

Not really, because perhaps your application doesn't want to interleave
over all nodes. I suggested NODE_MASK_ALL as the way to get access to all
the memory you are allowed, but it's certainly plausible that an
application could request to interleave only over a subset. That's the
entire reason set_mempolicy(MPOL_INTERLEAVE) takes a nodemask anyway right
now instead of just using task->mems_allowed on each allocation.

David