|
@@ -1567,7 +1567,9 @@ static struct page *new_node_page(struct page *page, unsigned long private,
|
|
return alloc_huge_page_node(page_hstate(compound_head(page)),
|
|
return alloc_huge_page_node(page_hstate(compound_head(page)),
|
|
next_node_in(nid, nmask));
|
|
next_node_in(nid, nmask));
|
|
|
|
|
|
- node_clear(nid, nmask);
|
|
|
|
|
|
+ if (nid != next_node_in(nid, nmask))
|
|
|
|
+ node_clear(nid, nmask);
|
|
|
|
+
|
|
if (PageHighMem(page)
|
|
if (PageHighMem(page)
|
|
|| (zone_idx(page_zone(page)) == ZONE_MOVABLE))
|
|
|| (zone_idx(page_zone(page)) == ZONE_MOVABLE))
|
|
gfp_mask |= __GFP_HIGHMEM;
|
|
gfp_mask |= __GFP_HIGHMEM;
|