summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteve Capper2013-05-07 15:46:03 +0200
committerSteve Capper2013-06-14 10:40:28 +0200
commitdfa5e237e935bc6712c9ac2f52a5469a0df85bcf (patch)
tree277e0e8f1817893d115d901d1737461e86f255b9
parentx86: mm: Remove general hugetlb code from x86. (diff)
downloadkernel-qcow2-linux-dfa5e237e935bc6712c9ac2f52a5469a0df85bcf.tar.gz
kernel-qcow2-linux-dfa5e237e935bc6712c9ac2f52a5469a0df85bcf.tar.xz
kernel-qcow2-linux-dfa5e237e935bc6712c9ac2f52a5469a0df85bcf.zip
mm: thp: Correct the HPAGE_PMD_ORDER check.
All Transparent Huge Pages are allocated by the buddy allocator. A compile time check is in place that fails when the order of a transparent huge page is too large to be allocated by the buddy allocator. Unfortunately that compile time check passes when: HPAGE_PMD_ORDER == MAX_ORDER ( which is incorrect as the buddy allocator can only allocate memory of order strictly less than MAX_ORDER. ) This patch updates the compile time check to fail in the above case. Signed-off-by: Steve Capper <steve.capper@linaro.org> Acked-by: Catalin Marinas <catalin.marinas@arm.com> Acked-by: Andrew Morton <akpm@linux-foundation.org>
-rw-r--r--include/linux/huge_mm.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/include/linux/huge_mm.h b/include/linux/huge_mm.h
index 528454c2caa9..26ee56c80dc7 100644
--- a/include/linux/huge_mm.h
+++ b/include/linux/huge_mm.h
@@ -123,7 +123,7 @@ extern void __split_huge_page_pmd(struct vm_area_struct *vma,
} while (0)
extern void split_huge_page_pmd_mm(struct mm_struct *mm, unsigned long address,
pmd_t *pmd);
-#if HPAGE_PMD_ORDER > MAX_ORDER
+#if HPAGE_PMD_ORDER >= MAX_ORDER
#error "hugepages can't be allocated by the buddy allocator"
#endif
extern int hugepage_madvise(struct vm_area_struct *vma,