David Rientjes b360edb43f mm, mempolicy: migrate_to_node should only migrate to node
migrate_to_node() is intended to migrate a page from one source node to
a target node.

Today, migrate_to_node() could end up migrating to any node, not only
the target node.  This is because the page migration allocator,
new_node_page() does not pass __GFP_THISNODE to
alloc_pages_exact_node().  This causes the target node to be preferred
but allows fallback to any other node in order of affinity.

Prevent this by allocating with __GFP_THISNODE.  If memory is not
available, -ENOMEM will be returned as appropriate.

Signed-off-by: David Rientjes <rientjes@google.com>
Reviewed-by: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
Cc: Mel Gorman <mel@csn.ul.ie>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2015-04-14 16:49:03 -07:00
..
2015-04-14 16:49:00 -07:00
2015-04-14 16:49:00 -07:00
2015-04-14 16:49:00 -07:00
2015-02-16 17:56:03 -08:00
2015-04-14 16:49:00 -07:00
2015-02-16 17:56:03 -08:00
2015-04-14 16:49:00 -07:00
2015-02-11 17:06:02 -08:00
2015-04-06 17:50:59 -04:00
2015-03-12 18:46:08 -07:00
2015-01-29 00:13:11 -05:00
2015-03-24 13:41:54 -04:00
2015-02-13 21:21:35 -08:00
2015-02-12 18:54:12 -08:00