From: Steve Capper <steve.capper@linaro.org> To: linux-mm@kvack.org, x86@kernel.org, linux-arch@vger.kernel.org, linux-arm-kernel@lists.infradead.org Cc: Michal Hocko <mhocko@suse.cz>, Ken Chen <kenchen@google.com>, Mel Gorman <mgorman@suse.de>, Catalin Marinas <catalin.marinas@arm.com>, Will Deacon <will.deacon@arm.com>, patches@linaro.org, Steve Capper <steve.capper@linaro.org> Subject: [PATCH 05/11] mm: thp: Correct the HPAGE_PMD_ORDER check. Date: Thu, 23 May 2013 18:07:52 +0100 [thread overview] Message-ID: <1369328878-11706-6-git-send-email-steve.capper@linaro.org> (raw) In-Reply-To: <1369328878-11706-1-git-send-email-steve.capper@linaro.org> 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> --- include/linux/huge_mm.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/linux/huge_mm.h b/include/linux/huge_mm.h index 528454c..26ee56c 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, -- 1.8.1.4 -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
WARNING: multiple messages have this Message-ID (diff)
From: Steve Capper <steve.capper@linaro.org> To: linux-mm@kvack.org, x86@kernel.org, linux-arch@vger.kernel.org, linux-arm-kernel@lists.infradead.org Cc: Michal Hocko <mhocko@suse.cz>, Ken Chen <kenchen@google.com>, Mel Gorman <mgorman@suse.de>, Catalin Marinas <catalin.marinas@arm.com>, Will Deacon <will.deacon@arm.com>, patches@linaro.org, Steve Capper <steve.capper@linaro.org> Subject: [PATCH 05/11] mm: thp: Correct the HPAGE_PMD_ORDER check. Date: Thu, 23 May 2013 18:07:52 +0100 [thread overview] Message-ID: <1369328878-11706-6-git-send-email-steve.capper@linaro.org> (raw) Message-ID: <20130523170752.Ms9KgCNPxwhrmHZhSJnOSP7ys8f1XUkBGIc21QfmLU8@z> (raw) In-Reply-To: <1369328878-11706-1-git-send-email-steve.capper@linaro.org> 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> --- include/linux/huge_mm.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/linux/huge_mm.h b/include/linux/huge_mm.h index 528454c..26ee56c 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, -- 1.8.1.4
next prev parent reply other threads:[~2013-05-23 17:07 UTC|newest] Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top 2013-05-23 17:07 [PATCH 00/11] HugeTLB and THP support for ARM64 Steve Capper 2013-05-23 17:07 ` Steve Capper 2013-05-23 17:07 ` [PATCH 01/11] mm: hugetlb: Copy huge_pmd_share from x86 to mm Steve Capper 2013-05-23 17:07 ` Steve Capper 2013-05-24 11:11 ` Catalin Marinas 2013-05-24 11:11 ` Catalin Marinas 2013-05-23 17:07 ` [PATCH 02/11] x86: mm: Remove x86 version of huge_pmd_share Steve Capper 2013-05-23 17:07 ` Steve Capper 2013-05-24 11:13 ` Catalin Marinas 2013-05-24 11:13 ` Catalin Marinas 2013-05-23 17:07 ` [PATCH 03/11] mm: hugetlb: Copy general hugetlb code from x86 to mm Steve Capper 2013-05-23 17:07 ` Steve Capper 2013-05-24 11:14 ` Catalin Marinas 2013-05-24 11:14 ` Catalin Marinas 2013-05-24 11:18 ` Catalin Marinas 2013-05-24 11:18 ` Catalin Marinas 2013-05-23 17:07 ` [PATCH 04/11] x86: mm: Remove general hugetlb code from x86 Steve Capper 2013-05-23 17:07 ` Steve Capper 2013-05-24 11:14 ` Catalin Marinas 2013-05-24 11:14 ` Catalin Marinas 2013-05-23 17:07 ` Steve Capper [this message] 2013-05-23 17:07 ` [PATCH 05/11] mm: thp: Correct the HPAGE_PMD_ORDER check Steve Capper 2013-05-24 11:18 ` Catalin Marinas 2013-05-24 11:18 ` Catalin Marinas 2013-05-23 17:07 ` [PATCH 06/11] ARM64: mm: Restore memblock limit when map_mem finished Steve Capper 2013-05-23 17:07 ` [PATCH 07/11] ARM64: mm: Make PAGE_NONE pages read only and no-execute Steve Capper 2013-05-24 11:21 ` Catalin Marinas 2013-05-24 11:21 ` Catalin Marinas 2013-05-23 17:07 ` [PATCH 08/11] ARM64: mm: Swap PTE_FILE and PTE_PROT_NONE bits Steve Capper 2013-05-23 17:07 ` [PATCH 09/11] ARM64: mm: HugeTLB support Steve Capper 2013-05-24 11:23 ` Catalin Marinas 2013-05-24 11:23 ` Catalin Marinas 2013-05-23 17:07 ` [PATCH 10/11] ARM64: mm: Raise MAX_ORDER for 64KB pages and THP Steve Capper 2013-05-23 17:07 ` [PATCH 11/11] ARM64: mm: THP support Steve Capper
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1369328878-11706-6-git-send-email-steve.capper@linaro.org \ --to=steve.capper@linaro.org \ --cc=catalin.marinas@arm.com \ --cc=kenchen@google.com \ --cc=linux-arch@vger.kernel.org \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-mm@kvack.org \ --cc=mgorman@suse.de \ --cc=mhocko@suse.cz \ --cc=patches@linaro.org \ --cc=will.deacon@arm.com \ --cc=x86@kernel.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).