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: [RFC PATCH v2 04/11] x86: mm: Remove general hugetlb code from x86. Date: Wed, 8 May 2013 10:52:36 +0100 [thread overview] Message-ID: <1368006763-30774-5-git-send-email-steve.capper@linaro.org> (raw) In-Reply-To: <1368006763-30774-1-git-send-email-steve.capper@linaro.org> huge_pte_alloc, huge_pte_offset and follow_huge_p[mu]d have already been copied over to mm. This patch removes the x86 copies of these functions and activates the general ones by enabling: CONFIG_ARCH_WANT_GENERAL_HUGETLB Signed-off-by: Steve Capper <steve.capper@linaro.org> --- arch/x86/Kconfig | 3 +++ arch/x86/mm/hugetlbpage.c | 67 ----------------------------------------------- 2 files changed, 3 insertions(+), 67 deletions(-) diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index 60e3c402..db1ff87 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -215,6 +215,9 @@ config ARCH_SUSPEND_POSSIBLE config ARCH_WANT_HUGE_PMD_SHARE def_bool y +config ARCH_WANT_GENERAL_HUGETLB + def_bool y + config ZONE_DMA32 bool default X86_64 diff --git a/arch/x86/mm/hugetlbpage.c b/arch/x86/mm/hugetlbpage.c index 7e522a3..7e73e8c 100644 --- a/arch/x86/mm/hugetlbpage.c +++ b/arch/x86/mm/hugetlbpage.c @@ -16,49 +16,6 @@ #include <asm/tlbflush.h> #include <asm/pgalloc.h> -pte_t *huge_pte_alloc(struct mm_struct *mm, - unsigned long addr, unsigned long sz) -{ - pgd_t *pgd; - pud_t *pud; - pte_t *pte = NULL; - - pgd = pgd_offset(mm, addr); - pud = pud_alloc(mm, pgd, addr); - if (pud) { - if (sz == PUD_SIZE) { - pte = (pte_t *)pud; - } else { - BUG_ON(sz != PMD_SIZE); - if (pud_none(*pud)) - pte = huge_pmd_share(mm, addr, pud); - else - pte = (pte_t *)pmd_alloc(mm, pud, addr); - } - } - BUG_ON(pte && !pte_none(*pte) && !pte_huge(*pte)); - - return pte; -} - -pte_t *huge_pte_offset(struct mm_struct *mm, unsigned long addr) -{ - pgd_t *pgd; - pud_t *pud; - pmd_t *pmd = NULL; - - pgd = pgd_offset(mm, addr); - if (pgd_present(*pgd)) { - pud = pud_offset(pgd, addr); - if (pud_present(*pud)) { - if (pud_large(*pud)) - return (pte_t *)pud; - pmd = pmd_offset(pud, addr); - } - } - return (pte_t *) pmd; -} - #if 0 /* This is just for testing */ struct page * follow_huge_addr(struct mm_struct *mm, unsigned long address, int write) @@ -120,30 +77,6 @@ int pud_huge(pud_t pud) return !!(pud_val(pud) & _PAGE_PSE); } -struct page * -follow_huge_pmd(struct mm_struct *mm, unsigned long address, - pmd_t *pmd, int write) -{ - struct page *page; - - page = pte_page(*(pte_t *)pmd); - if (page) - page += ((address & ~PMD_MASK) >> PAGE_SHIFT); - return page; -} - -struct page * -follow_huge_pud(struct mm_struct *mm, unsigned long address, - pud_t *pud, int write) -{ - struct page *page; - - page = pte_page(*(pte_t *)pud); - if (page) - page += ((address & ~PUD_MASK) >> PAGE_SHIFT); - return page; -} - #endif /* x86_64 also uses this file */ -- 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: [RFC PATCH v2 04/11] x86: mm: Remove general hugetlb code from x86. Date: Wed, 8 May 2013 10:52:36 +0100 [thread overview] Message-ID: <1368006763-30774-5-git-send-email-steve.capper@linaro.org> (raw) Message-ID: <20130508095236.sutfkRBiCYq2-78YrGqnKy6IsVS4w2BScYF25HRjav8@z> (raw) In-Reply-To: <1368006763-30774-1-git-send-email-steve.capper@linaro.org> huge_pte_alloc, huge_pte_offset and follow_huge_p[mu]d have already been copied over to mm. This patch removes the x86 copies of these functions and activates the general ones by enabling: CONFIG_ARCH_WANT_GENERAL_HUGETLB Signed-off-by: Steve Capper <steve.capper@linaro.org> --- arch/x86/Kconfig | 3 +++ arch/x86/mm/hugetlbpage.c | 67 ----------------------------------------------- 2 files changed, 3 insertions(+), 67 deletions(-) diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index 60e3c402..db1ff87 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -215,6 +215,9 @@ config ARCH_SUSPEND_POSSIBLE config ARCH_WANT_HUGE_PMD_SHARE def_bool y +config ARCH_WANT_GENERAL_HUGETLB + def_bool y + config ZONE_DMA32 bool default X86_64 diff --git a/arch/x86/mm/hugetlbpage.c b/arch/x86/mm/hugetlbpage.c index 7e522a3..7e73e8c 100644 --- a/arch/x86/mm/hugetlbpage.c +++ b/arch/x86/mm/hugetlbpage.c @@ -16,49 +16,6 @@ #include <asm/tlbflush.h> #include <asm/pgalloc.h> -pte_t *huge_pte_alloc(struct mm_struct *mm, - unsigned long addr, unsigned long sz) -{ - pgd_t *pgd; - pud_t *pud; - pte_t *pte = NULL; - - pgd = pgd_offset(mm, addr); - pud = pud_alloc(mm, pgd, addr); - if (pud) { - if (sz == PUD_SIZE) { - pte = (pte_t *)pud; - } else { - BUG_ON(sz != PMD_SIZE); - if (pud_none(*pud)) - pte = huge_pmd_share(mm, addr, pud); - else - pte = (pte_t *)pmd_alloc(mm, pud, addr); - } - } - BUG_ON(pte && !pte_none(*pte) && !pte_huge(*pte)); - - return pte; -} - -pte_t *huge_pte_offset(struct mm_struct *mm, unsigned long addr) -{ - pgd_t *pgd; - pud_t *pud; - pmd_t *pmd = NULL; - - pgd = pgd_offset(mm, addr); - if (pgd_present(*pgd)) { - pud = pud_offset(pgd, addr); - if (pud_present(*pud)) { - if (pud_large(*pud)) - return (pte_t *)pud; - pmd = pmd_offset(pud, addr); - } - } - return (pte_t *) pmd; -} - #if 0 /* This is just for testing */ struct page * follow_huge_addr(struct mm_struct *mm, unsigned long address, int write) @@ -120,30 +77,6 @@ int pud_huge(pud_t pud) return !!(pud_val(pud) & _PAGE_PSE); } -struct page * -follow_huge_pmd(struct mm_struct *mm, unsigned long address, - pmd_t *pmd, int write) -{ - struct page *page; - - page = pte_page(*(pte_t *)pmd); - if (page) - page += ((address & ~PMD_MASK) >> PAGE_SHIFT); - return page; -} - -struct page * -follow_huge_pud(struct mm_struct *mm, unsigned long address, - pud_t *pud, int write) -{ - struct page *page; - - page = pte_page(*(pte_t *)pud); - if (page) - page += ((address & ~PUD_MASK) >> PAGE_SHIFT); - return page; -} - #endif /* x86_64 also uses this file */ -- 1.8.1.4
next prev parent reply other threads:[~2013-05-08 9:52 UTC|newest] Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top 2013-05-08 9:52 [RFC PATCH v2 00/11] HugeTLB and THP support for ARM64 Steve Capper 2013-05-08 9:52 ` [RFC PATCH v2 01/11] mm: hugetlb: Copy huge_pmd_share from x86 to mm Steve Capper 2013-05-08 9:52 ` [RFC PATCH v2 02/11] x86: mm: Remove x86 version of huge_pmd_share Steve Capper 2013-05-08 9:52 ` [RFC PATCH v2 03/11] mm: hugetlb: Copy general hugetlb code from x86 to mm Steve Capper 2013-05-08 9:52 ` Steve Capper 2013-05-08 9:52 ` Steve Capper [this message] 2013-05-08 9:52 ` [RFC PATCH v2 04/11] x86: mm: Remove general hugetlb code from x86 Steve Capper 2013-05-08 9:52 ` [RFC PATCH v2 05/11] mm: thp: Correct the HPAGE_PMD_ORDER check Steve Capper 2013-05-08 12:44 ` Kirill A. Shutemov 2013-05-08 12:03 ` Steve Capper 2013-05-08 12:03 ` Steve Capper 2013-05-08 12:44 ` Kirill A. Shutemov 2013-05-08 9:52 ` [RFC PATCH v2 06/11] ARM64: mm: Restore memblock limit when map_mem finished Steve Capper 2013-05-16 13:52 ` Catalin Marinas 2013-05-16 13:52 ` Catalin Marinas 2013-05-08 9:52 ` [RFC PATCH v2 07/11] ARM64: mm: Make PAGE_NONE pages read only and no-execute Steve Capper 2013-05-08 16:43 ` Will Deacon 2013-05-08 16:43 ` Will Deacon 2013-05-09 8:27 ` Steve Capper 2013-05-09 8:27 ` Steve Capper 2013-05-08 9:52 ` [RFC PATCH v2 08/11] ARM64: mm: Swap PTE_FILE and PTE_PROT_NONE bits Steve Capper 2013-05-08 16:17 ` Christopher Covington 2013-05-09 8:15 ` Steve Capper 2013-05-08 16:40 ` Will Deacon 2013-05-08 16:40 ` Will Deacon 2013-05-09 8:22 ` Steve Capper 2013-05-09 8:22 ` Steve Capper 2013-05-16 14:58 ` Catalin Marinas 2013-05-16 14:58 ` Catalin Marinas 2013-05-08 9:52 ` [RFC PATCH v2 09/11] ARM64: mm: HugeTLB support Steve Capper 2013-05-16 14:32 ` Catalin Marinas 2013-05-16 14:32 ` Catalin Marinas 2013-05-17 8:41 ` Steve Capper 2013-05-17 8:41 ` Steve Capper 2013-05-08 9:52 ` [RFC PATCH v2 10/11] ARM64: mm: Raise MAX_ORDER for 64KB pages and THP Steve Capper 2013-05-16 14:59 ` Catalin Marinas 2013-05-16 14:59 ` Catalin Marinas 2013-05-08 9:52 ` [RFC PATCH v2 11/11] ARM64: mm: THP support Steve Capper 2013-05-16 15:01 ` Catalin Marinas 2013-05-16 15:01 ` Catalin Marinas
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=1368006763-30774-5-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).