diff options
Diffstat (limited to 'mm/page_isolation.c')
-rw-r--r-- | mm/page_isolation.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/mm/page_isolation.c b/mm/page_isolation.c index 92c4c36501e7..c4f568206544 100644 --- a/mm/page_isolation.c +++ b/mm/page_isolation.c | |||
@@ -215,7 +215,7 @@ int undo_isolate_page_range(unsigned long start_pfn, unsigned long end_pfn, | |||
215 | * all pages in [start_pfn...end_pfn) must be in the same zone. | 215 | * all pages in [start_pfn...end_pfn) must be in the same zone. |
216 | * zone->lock must be held before call this. | 216 | * zone->lock must be held before call this. |
217 | * | 217 | * |
218 | * Returns 1 if all pages in the range are isolated. | 218 | * Returns the last tested pfn. |
219 | */ | 219 | */ |
220 | static unsigned long | 220 | static unsigned long |
221 | __test_page_isolated_in_pageblock(unsigned long pfn, unsigned long end_pfn, | 221 | __test_page_isolated_in_pageblock(unsigned long pfn, unsigned long end_pfn, |
@@ -289,11 +289,11 @@ struct page *alloc_migrate_target(struct page *page, unsigned long private, | |||
289 | * now as a simple work-around, we use the next node for destination. | 289 | * now as a simple work-around, we use the next node for destination. |
290 | */ | 290 | */ |
291 | if (PageHuge(page)) { | 291 | if (PageHuge(page)) { |
292 | nodemask_t src = nodemask_of_node(page_to_nid(page)); | 292 | int node = next_online_node(page_to_nid(page)); |
293 | nodemask_t dst; | 293 | if (node == MAX_NUMNODES) |
294 | nodes_complement(dst, src); | 294 | node = first_online_node; |
295 | return alloc_huge_page_node(page_hstate(compound_head(page)), | 295 | return alloc_huge_page_node(page_hstate(compound_head(page)), |
296 | next_node(page_to_nid(page), dst)); | 296 | node); |
297 | } | 297 | } |
298 | 298 | ||
299 | if (PageHighMem(page)) | 299 | if (PageHighMem(page)) |