[RFC V2 0/6] mm: Drop pxd_ERROR()
Anshuman Khandual
anshuman.khandual at arm.com
Mon Aug 10 21:21:13 PDT 2026
pxd_ERROR() macros have been provided by all platforms, which are very much
identical and can be dropped off completely if these pgtable printing could
be moved to callers in generic MM aka all pxd_clear_bad().
But first cleanups and re-organizations are required in some platforms that
are using these macros internally. Afterwards [pte|pmd|pud|p4d|pgd]_ERROR()
macros have been completely dropped from the entire tree.
This series is based on v7.2-rc7 after the following patch. This has also
been built tested on multiple platforms.
https://lore.kernel.org/all/20260709044334.1741263-1-anshuman.khandual@arm.com/
Changes in RFC V2:
- Added clean up patches for platforms with existing pxd_ERROR() usage
- Dropped __FILE__ and __LINE__ from all pgtable entry printing
Changes in RFC V1:
https://lore.kernel.org/all/20260806080639.1916749-1-anshuman.khandual@arm.com/
Cc: Yoshinori Sato <ysato at users.sourceforge.jp>
Cc: Rich Felker <dalias at libc.org>
Cc: John Paul Adrian Glaubitz <glaubitz at physik.fu-berlin.de>
Cc: "James E.J. Bottomley" <James.Bottomley at HansenPartnership.com>
Cc: Helge Deller <deller at gmx.de>
Cc: Huacai Chen <chenhuacai at kernel.org>
Cc: WANG Xuerui <kernel at xen0n.name>
Cc: linux-alpha at vger.kernel.org
Cc: linux-snps-arc at lists.infradead.org
Cc: linux-arm-kernel at lists.infradead.org
Cc: linux-csky at vger.kernel.org
Cc: linux-hexagon at vger.kernel.org
Cc: loongarch at lists.linux.dev
Cc: linux-m68k at lists.linux-m68k.org
Cc: linux-mips at vger.kernel.org
Cc: linux-openrisc at vger.kernel.org
Cc: linux-parisc at vger.kernel.org
Cc: linuxppc-dev at lists.ozlabs.org
Cc: linux-riscv at lists.infradead.org
Cc: linux-s390 at vger.kernel.org
Cc: linux-sh at vger.kernel.org
Cc: sparclinux at vger.kernel.org
Cc: linux-um at lists.infradead.org
Cc: linux-arch at vger.kernel.org
Cc: linux-mm at kvack.org
Cc: linux-kernel at vger.kernel.org
Anshuman Khandual (6):
loongarch/mm: Stop using pte_ERROR()
parisc/mm: Directly use generic [pmd|pgd]_clear_bad()
sh/mm: Stop using pte_ERROR()
sh/mm: Stop using [p4d|pud|pmd]_ERROR()
sh/mm: Stop using pgd_ERROR()
mm: Drop pxd_ERROR()
arch/alpha/include/asm/pgtable.h | 7 ----
arch/arc/include/asm/pgtable-levels.h | 11 -----
arch/arm/include/asm/pgtable.h | 7 ----
arch/arm/kernel/traps.c | 17 --------
arch/arm64/include/asm/pgtable.h | 15 -------
arch/csky/include/asm/pgtable.h | 4 --
arch/hexagon/include/asm/pgtable.h | 3 --
arch/loongarch/include/asm/pgtable.h | 13 ------
arch/loongarch/mm/init.c | 2 +-
arch/m68k/include/asm/mcf_pgtable.h | 6 ---
arch/m68k/include/asm/motorola_pgtable.h | 8 ----
arch/m68k/include/asm/sun3_pgtable.h | 7 ----
arch/microblaze/include/asm/pgtable.h | 7 ----
arch/mips/include/asm/pgtable-32.h | 10 -----
arch/mips/include/asm/pgtable-64.h | 13 ------
arch/nios2/include/asm/pgtable.h | 7 ----
arch/openrisc/include/asm/pgtable.h | 7 ----
arch/parisc/include/asm/pgtable.h | 9 ----
arch/parisc/kernel/pci-dma.c | 6 +--
arch/powerpc/include/asm/book3s/32/pgtable.h | 2 -
arch/powerpc/include/asm/book3s/64/pgtable.h | 7 ----
arch/powerpc/include/asm/nohash/32/pgtable.h | 2 -
.../include/asm/nohash/64/pgtable-4k.h | 3 --
arch/powerpc/include/asm/nohash/64/pgtable.h | 5 ---
arch/riscv/include/asm/pgtable-64.h | 9 ----
arch/riscv/include/asm/pgtable.h | 4 --
arch/s390/include/asm/pgtable.h | 11 -----
arch/sh/include/asm/pgtable-3level.h | 3 --
arch/sh/include/asm/pgtable_32.h | 13 ------
arch/sh/mm/init.c | 27 ++++++------
arch/sparc/include/asm/pgtable_32.h | 3 --
arch/sparc/include/asm/pgtable_64.h | 10 -----
arch/um/include/asm/pgtable-2level.h | 7 ----
arch/um/include/asm/pgtable-4level.h | 13 ------
arch/x86/include/asm/pgtable-2level.h | 5 ---
arch/x86/include/asm/pgtable-3level.h | 11 -----
arch/x86/include/asm/pgtable_64.h | 18 --------
arch/xtensa/include/asm/pgtable.h | 4 --
include/asm-generic/pgtable-nop4d.h | 1 -
include/asm-generic/pgtable-nopmd.h | 1 -
include/asm-generic/pgtable-nopud.h | 1 -
include/linux/mm_types.h | 41 +++++++++++++++++++
mm/memory.c | 41 +------------------
mm/pgtable-generic.c | 21 ++++++++--
44 files changed, 76 insertions(+), 346 deletions(-)
--
2.43.0
More information about the linux-arm-kernel
mailing list