that stores the the nodemask that the user passed when he or she createdthe mempolicy via set_mempolicy() or mbind(). When usingMPOL_F_STATIC_NODES, which is passed with any mempolicy mode, the user'spassed nodemask intersected with the VMA or task's allowed nodes is alwaysused when determining the preferred node, building the MPOL_BIND zonelist,or creating the interleave nodemask. This happens whenever the policy is rebound, including when a task's cpuset assignment changes or the cpuset'smems are changed.

This creates an interesting side-effect in that it allows the mempolicy"intent" to lie dormant and uneffected until it has access to the node(s)that it desires. For example, if you currently ask for an interleavedpolicy over a set of nodes that you do not have access to, the mempolicyis not created and the task continues to use the previous policy. Withthis change, however, it is possible to create the same mempolicy; it isonly effected when access to nodes in the nodemask is acquired.

It is also possible to mount tmpfs with the static nodemask behavior whenspecifying a node or nodemask. To do this, simply add "=static"immediately following the mempolicy mode at mount time:

mount -o remount mpol=interleave=static:1-3

Also removes mpol_check_policy() and folds its logic into mpol_new() sinceit is now obsoleted. The unused vma_mpol_equal() is also removed.