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

Christoph Lameter
2007-10-25T23:37:39Z

On Thu, 25 Oct 2007, David Rientjes wrote:

> Adds a new 'interleave_over_allowed' option to cpusets.
>
> When a task with an MPOL_INTERLEAVE memory policy is attached to a cpuset
> with this option set, the interleaved nodemask becomes the cpuset's
> mems_allowed. When the cpuset's mems_allowed changes, the interleaved
> nodemask for all tasks with MPOL_INTERLEAVE memory policies is also
> updated to be the new mems_allowed nodemask.
>
> This allows applications to specify that they want to interleave over all
> nodes that they are allowed to access. This set of nodes can be changed
> at any time via the cpuset interface and each individual memory policy is
> updated to reflect the changes for all attached tasks when this option is
> set.

More interactions between cpusets and memory policies. We have to be
careful here to keep clean semantics.

Isnt it a bit surprising for an application that has set up a custom
MPOL_INTERLEAVE policy if the nodes suddenly change because of a cpuset or
mems_allowed change?