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 | ||
