diff options
author | Christoph Lameter <clameter@engr.sgi.com> | 2006-01-08 01:00:57 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-01-08 20:12:43 -0800 |
commit | aea47ff363c15b0be5fc27ed991b1fdee338f0a7 (patch) | |
tree | 0932af1adfcf795fe8793ce24eb338e832d5fa2c | |
parent | 45b07ef31d1182d2cfde7711327e3afb268bb1ac (diff) | |
download | op-kernel-dev-aea47ff363c15b0be5fc27ed991b1fdee338f0a7.zip op-kernel-dev-aea47ff363c15b0be5fc27ed991b1fdee338f0a7.tar.gz |
[PATCH] mm: make hugepages obey cpusets.
See http://marc.theaimsgroup.com/?l=linux-kernel&m=113167000201265&w=2
http://marc.theaimsgroup.com/?l=linux-mm&m=113167267527312&w=2
Make hugepages obey cpusets.
Signed-off-by: Christoph Lameter <clameter@sgi.com>
Acked-by: William Irwin <wli@holomorphy.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-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 f4c43d7..b21d78c 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c @@ -12,6 +12,7 @@ #include <linux/nodemask.h> #include <linux/pagemap.h> #include <linux/mempolicy.h> +#include <linux/cpuset.h> #include <asm/page.h> #include <asm/pgtable.h> @@ -48,7 +49,8 @@ static struct page *dequeue_huge_page(struct vm_area_struct *vma, for (z = zonelist->zones; *z; z++) { nid = (*z)->zone_pgdat->node_id; - if (!list_empty(&hugepage_freelists[nid])) + if (cpuset_zone_allowed(*z, GFP_HIGHUSER) && + !list_empty(&hugepage_freelists[nid])) break; } |