diff options
-rw-r--r-- | mm/hugetlb.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/mm/hugetlb.c b/mm/hugetlb.c index f4c43d7980ba..b21d78c941b5 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c | |||
@@ -12,6 +12,7 @@ | |||
12 | #include <linux/nodemask.h> | 12 | #include <linux/nodemask.h> |
13 | #include <linux/pagemap.h> | 13 | #include <linux/pagemap.h> |
14 | #include <linux/mempolicy.h> | 14 | #include <linux/mempolicy.h> |
15 | #include <linux/cpuset.h> | ||
15 | 16 | ||
16 | #include <asm/page.h> | 17 | #include <asm/page.h> |
17 | #include <asm/pgtable.h> | 18 | #include <asm/pgtable.h> |
@@ -48,7 +49,8 @@ static struct page *dequeue_huge_page(struct vm_area_struct *vma, | |||
48 | 49 | ||
49 | for (z = zonelist->zones; *z; z++) { | 50 | for (z = zonelist->zones; *z; z++) { |
50 | nid = (*z)->zone_pgdat->node_id; | 51 | nid = (*z)->zone_pgdat->node_id; |
51 | if (!list_empty(&hugepage_freelists[nid])) | 52 | if (cpuset_zone_allowed(*z, GFP_HIGHUSER) && |
53 | !list_empty(&hugepage_freelists[nid])) | ||
52 | break; | 54 | break; |
53 | } | 55 | } |
54 | 56 | ||