powerpc-mm-remove-hugepd-leftovers.patch removed from -mm tree
The quilt patch titled
Subject: powerpc/mm: remove hugepd leftovers
has been removed from the -mm tree. Its filename was
powerpc-mm-remove-hugepd-leftovers.patch
This patch was dropped because it was merged into the mm-stable branch of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
------------------------------------------------------
From: Christophe Leroy <[email protected]>
Subject: powerpc/mm: remove hugepd leftovers
Date: Tue, 2 Jul 2024 15:51:34 +0200
All targets have now opted out of CONFIG_ARCH_HAS_HUGEPD so remove left over code.
Link https://lkml.kernel.org/r/39c0d0adee6790fc42cee9f458e05fb95136c3dd.1719928057.git.christophe.leroy@csgroup.eu open here
Signed-off-by Christophe Leroy <[email protected]>
Acked-by Oscar Salvador <[email protected]>
Cc Jason Gunthorpe <[email protected]>
Cc Michael Ellerman <[email protected]>
Cc Nicholas Piggin <[email protected]>
Cc Peter Xu <[email protected]>
Signed-off-by Andrew Morton <[email protected]>
---
arch/powerpc/include/asm/hugetlb.h | 7 arch/powerpc/include/asm/page.h | 6 arch/powerpc/include/asm/pgtable-be-types.h | 10 arch/powerpc/include/asm/pgtable-types.h | 9 arch/powerpc/mm/hugetlbpage.c | 413 ------------------ arch/powerpc/mm/init-common.c | 8 arch/powerpc/mm/pgtable.c | 27 - 7 files changed, 3 insertions(+), 477 deletions(-)
arch/powerpc/include/asm/hugetlb.h renamed from arch/powerpc/include/asm/hugetlb.h~powerpc-mm-remove-hugepd-leftovers +0 -7
@@ -30,13 +30,6 @@ static inline int is_hugepage_only_range }#define is_hugepage_only_range is_hugepage_only_range -#ifdef CONFIG_ARCH_HAS_HUGEPD -#define __HAVE_ARCH_HUGETLB_FREE_PGD_RANGE -void hugetlb_free_pgd_range (struct mmu_gather *tlb,unsigned long addr, -unsigned long end,unsigned long floor, -unsigned long ceiling); -#endif -#define __HAVE_ARCH_HUGE_SET_HUGE_PTE_ATvoid set_huge_pte_at (struct mm_struct *mm,unsigned long addr,pte_t *ptep,pte_t pte,unsigned long sz);
arch/powerpc/include/asm/page.h renamed from arch/powerpc/include/asm/page.h~powerpc-mm-remove-hugepd-leftovers +0 -6
@@ -269,12 +269,6 @@ static inline const void *pfn_to_kaddr(u#define is_kernel_addr (x) ((x) >= TASK_SIZE)#endif -/* -* Some number of bits at the level of the page table that points to -* a hugepte are used to encode the size. This masks those bits. -*/ -#define HUGEPD_SHIFT_MASK 0x3f -#ifndef __ASSEMBLY__#ifdef CONFIG_PPC_BOOK3S_64
arch/powerpc/include/asm/pgtable-be-types.h renamed from arch/powerpc/include/asm/pgtable-be-types.h~powerpc-mm-remove-hugepd-leftovers +0 -10
@@ -101,14 +101,4 @@ static inline bool pmd_xchg(pmd_t *pmdp, return pmd_raw(old) == prev; } -#ifdef CONFIG_ARCH_HAS_HUGEPD -typedef struct {__be64 pdbe; }hugepd_t ; -#define __hugepd (x) ((hugepd_t) { cpu_to_be64(x) }) - -static inline unsigned long hpd_val (hugepd_t x) -{ -return be64_to_cpu (x.pdbe); -} -#endif -#endif /* _ASM_POWERPC_PGTABLE_BE_TYPES_H */
arch/powerpc/include/asm/pgtable-types.h renamed from arch/powerpc/include/asm/pgtable-types.h~powerpc-mm-remove-hugepd-leftovers +0 -9
@@ -87,13 +87,4 @@ static inline bool pte_xchg(pte_t *ptep, }#endif -#ifdef CONFIG_ARCH_HAS_HUGEPD -typedef struct {unsigned long pd; }hugepd_t ; -#define __hugepd (x) ((hugepd_t) { (x) }) -static inline unsigned long hpd_val (hugepd_t x) -{ -return x.pd; -} -#endif -#endif /* _ASM_POWERPC_PGTABLE_TYPES_H */
arch/powerpc/mm/hugetlbpage.c renamed from arch/powerpc/mm/hugetlbpage.c~powerpc-mm-remove-hugepd-leftovers +0 -413
437 lines not on this page · raw message
arch/powerpc/mm/init-common.c renamed from arch/powerpc/mm/init-common.c~powerpc-mm-remove-hugepd-leftovers +2 -6
@@ -120,12 +120,8 @@ void pgtable_cache_add(unsigned int shif/* When batching pgtable pointers for RCU freeing, we store * the index size in the low bits. Table alignment must be * big enough to fit it. -* -* Likewise, hugeapge pagetable pointers contain a (different) -* shift value in the low bits. All tables must be aligned so -* as to leave enough 0 bits in the address to contain it. */ -unsigned long minalign =max (MAX_PGTABLE_INDEX_SIZE +1 , -HUGEPD_SHIFT_MASK +1 ); +*/ +unsigned long minalign =MAX_PGTABLE_INDEX_SIZE +1 ;struct kmem_cache *new =NULL ;/* It would be nice if this was a BUILD_BUG_ON(), but at the
arch/powerpc/mm/pgtable.c renamed from arch/powerpc/mm/pgtable.c~powerpc-mm-remove-hugepd-leftovers +1 -26
@@ -409,11 +409,10 @@ unsigned long vmalloc_to_phys(void *va)EXPORT_SYMBOL_GPL (vmalloc_to_phys);/* -* We have 4 cases for pgds and pmds: +* We have 3 cases for pgds and pmds: * (1) invalid (all zeroes) * (2) pointer to next table, as normal; bottom 6 bits == 0 * (3) leaf pte for huge page _PAGE_PTE set -* (4) hugepd pointer, _PAGE_PTE = 0 and bits [2..6] indicate size of table * * So long as we atomically load page table pointers we are safe against teardown, * we can follow the address down to the page and take a ref on it.
@@ -430,7 +429,6 @@ pte_t *__find_linux_pte(pgd_t *pgdir, un#endif pmd_t pmd, *pmdp;pte_t *ret_pte; -hugepd_t *hpdp =NULL ;unsigned pdshift;if (hpage_shift)
@@ -463,11 +461,6 @@ pte_t *__find_linux_pte(pgd_t *pgdir, un goto out; } -if (is_hugepd (__hugepd (p4d_val (p4d)))) { - hpdp = (hugepd_t *)&p4d; - goto out_huge; - } -/* * Even if we end up with an unmap, the pgtable will not * be freed, because we do an rcu free and here we are
@@ -485,11 +478,6 @@ pte_t *__find_linux_pte(pgd_t *pgdir, un goto out; } -if (is_hugepd (__hugepd (pud_val (pud)))) { - hpdp = (hugepd_t *)&pud; - goto out_huge; - } - pmdp =pmd_offset (&pud, ea);#else pmdp =pmd_offset (pud_offset (p4d_offset (pgdp, ea), ea), ea);
@@ -527,21 +515,8 @@ pte_t *__find_linux_pte(pgd_t *pgdir, un goto out; } -if (is_hugepd (__hugepd (pmd_val (pmd)))) { - hpdp = (hugepd_t *)&pmd; - goto out_huge; - } -return pte_offset_kernel (&pmd, ea); -out_huge: -if (!hpdp) -return NULL ; - -#ifdef CONFIG_ARCH_HAS_HUGEPD - ret_pte =hugepte_offset (*hpdp, ea, pdshift); - pdshift =hugepd_shift (*hpdp); -#endif out:if (hpage_shift) *hpage_shift = pdshift;
_
Patches currently in -mm which might be from [email protected] are