The patch titled Memoryless Nodes: Fix interleave behavior has been added to the -mm tree. Its filename is memoryless-nodes-fix-interleave-behavior.patch *** Remember to use Documentation/SubmitChecklist when testing your code *** See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find out what to do about this ------------------------------------------------------ Subject: Memoryless Nodes: Fix interleave behavior From: Lee Schermerhorn <lee.schermerhorn@xxxxxx> MPOL_INTERLEAVE currently simply loops over all nodes. Allocations on memoryless nodes will be redirected to nodes with memory. This results in an imbalance because the neighboring nodes to memoryless nodes will get significantly more interleave hits that the rest of the nodes on the system. We can avoid this imbalance by clearing the nodes in the interleave node set that have no memory. If we use the node map of the memory nodes instead of the online nodes then we have only the nodes we want. Signed-off-by: Christoph Lameter <clameter@xxxxxxx> Signed-off-by: Nishanth Aravamudan <nacc@xxxxxxxxxx> Tested-by: Lee Schermerhorn <lee.schermerhorn@xxxxxx> Acked-by: Lee Schermerhorn <lee.schermerhorn@xxxxxx> Acked-by: Bob Picco <bob.picco@xxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- mm/mempolicy.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff -puN mm/mempolicy.c~memoryless-nodes-fix-interleave-behavior mm/mempolicy.c --- a/mm/mempolicy.c~memoryless-nodes-fix-interleave-behavior +++ a/mm/mempolicy.c @@ -183,7 +183,9 @@ static struct mempolicy *mpol_new(int mo switch (mode) { case MPOL_INTERLEAVE: policy->v.nodes = *nodes; - if (nodes_weight(*nodes) == 0) { + nodes_and(policy->v.nodes, policy->v.nodes, + node_states[N_MEMORY]); + if (nodes_weight(policy->v.nodes) == 0) { kmem_cache_free(policy_cache, policy); return ERR_PTR(-EINVAL); } _ Patches currently in -mm which might be from lee.schermerhorn@xxxxxx are numa-generic-management-of-nodemasks-for-various-purposes.patch memoryless-nodes-introduce-mask-of-nodes-with-memory.patch memoryless-nodes-fix-interleave-behavior.patch oom-use-the-n_memory-map-instead-of-constructing-one-on-the-fly.patch memoryless-nodes-no-need-for-kswapd.patch memoryless-node-slab-support.patch memoryless-nodes-slub-support.patch uncached-allocator-handle-memoryless-nodes.patch memoryless-node-allow-profiling-data-to-fall-back-to-other-nodes.patch memoryless-nodes-update-memory-policy-and-page-migration.patch add-n_cpu-node-state.patch memoryless-nodes-fix-gfp_thisnode-behavior.patch memoryless-nodes-use-node_memory_map-for-cpusets.patch memoryless-nodes-drop-one-memoryless-node-boot-warning.patch - To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html