Re: [PATCH 0/8] mm: cleanup usage of <asm/pgalloc.h>
From: Mike Rapoport
Date: Thu Jul 02 2020 - 17:47:11 EST
Gentle ping.
On Sat, Jun 27, 2020 at 05:34:45PM +0300, Mike Rapoport wrote:
> From: Mike Rapoport <rppt@xxxxxxxxxxxxx>
>
> Hi,
>
> Most architectures have very similar versions of pXd_alloc_one() and
> pXd_free_one() for intermediate levels of page table.
> These patches add generic versions of these functions in
> <asm-generic/pgalloc.h> and enable use of the generic functions where
> appropriate.
>
> In addition, functions declared and defined in <asm/pgalloc.h> headers
> are used mostly by core mm and early mm initialization in arch and there is
> no actual reason to have the <asm/pgalloc.h> included all over the place.
> The first patch in this series removes unneeded includes of <asm/pgalloc.h>
>
> In the end it didn't work out as neatly as I hoped and moving
> pXd_alloc_track() definitions to <asm-generic/pgalloc.h> would require
> unnecessary changes to arches that have custom page table allocations, so
> I've decided to move lib/ioremap.c to mm/ and make pgalloc-track.h local to
> mm/.
>
> Joerg Roedel (1):
> mm: move p?d_alloc_track to separate header file
>
> Mike Rapoport (7):
> mm: remove unneeded includes of <asm/pgalloc.h>
> opeinrisc: switch to generic version of pte allocation
> xtensa: switch to generic version of pte allocation
> asm-generic: pgalloc: provide generic pmd_alloc_one() and pmd_free_one()
> asm-generic: pgalloc: provide generic pud_alloc_one() and pud_free_one()
> asm-generic: pgalloc: provide generic pgd_free()
> mm: move lib/ioremap.c to mm/
>
> arch/alpha/include/asm/pgalloc.h | 21 +----
> arch/alpha/include/asm/tlbflush.h | 1 -
> arch/alpha/kernel/core_irongate.c | 1 -
> arch/alpha/kernel/core_marvel.c | 1 -
> arch/alpha/kernel/core_titan.c | 1 -
> arch/alpha/kernel/machvec_impl.h | 2 -
> arch/alpha/kernel/smp.c | 1 -
> arch/alpha/mm/numa.c | 1 -
> arch/arc/mm/fault.c | 1 -
> arch/arc/mm/init.c | 1 -
> arch/arm/include/asm/pgalloc.h | 12 +--
> arch/arm/include/asm/tlb.h | 1 -
> arch/arm/kernel/machine_kexec.c | 1 -
> arch/arm/kernel/smp.c | 1 -
> arch/arm/kernel/suspend.c | 1 -
> arch/arm/mach-omap2/omap-mpuss-lowpower.c | 1 -
> arch/arm/mm/hugetlbpage.c | 1 -
> arch/arm/mm/mmu.c | 1 +
> arch/arm64/include/asm/pgalloc.h | 39 +---------
> arch/arm64/kernel/smp.c | 1 -
> arch/arm64/mm/hugetlbpage.c | 1 -
> arch/arm64/mm/ioremap.c | 1 -
> arch/arm64/mm/mmu.c | 1 +
> arch/csky/include/asm/pgalloc.h | 7 +-
> arch/csky/kernel/smp.c | 1 -
> arch/hexagon/include/asm/pgalloc.h | 7 +-
> arch/ia64/include/asm/pgalloc.h | 24 ------
> arch/ia64/include/asm/tlb.h | 1 -
> arch/ia64/kernel/process.c | 1 -
> arch/ia64/kernel/smp.c | 1 -
> arch/ia64/kernel/smpboot.c | 1 -
> arch/ia64/mm/contig.c | 1 -
> arch/ia64/mm/discontig.c | 1 -
> arch/ia64/mm/hugetlbpage.c | 1 -
> arch/ia64/mm/tlb.c | 1 -
> arch/m68k/include/asm/mmu_context.h | 2 +-
> arch/m68k/include/asm/sun3_pgalloc.h | 7 +-
> arch/m68k/kernel/dma.c | 2 +-
> arch/m68k/kernel/traps.c | 3 +-
> arch/m68k/mm/cache.c | 2 +-
> arch/m68k/mm/fault.c | 1 -
> arch/m68k/mm/kmap.c | 2 +-
> arch/m68k/mm/mcfmmu.c | 1 +
> arch/m68k/mm/memory.c | 1 -
> arch/m68k/sun3x/dvma.c | 2 +-
> arch/microblaze/include/asm/pgalloc.h | 6 --
> arch/microblaze/include/asm/tlbflush.h | 1 -
> arch/microblaze/kernel/process.c | 1 -
> arch/microblaze/kernel/signal.c | 1 -
> arch/mips/include/asm/pgalloc.h | 19 +----
> arch/mips/sgi-ip32/ip32-memory.c | 1 -
> arch/nds32/mm/mm-nds32.c | 2 +
> arch/nios2/include/asm/pgalloc.h | 7 +-
> arch/openrisc/include/asm/pgalloc.h | 33 +-------
> arch/openrisc/include/asm/tlbflush.h | 1 -
> arch/openrisc/kernel/or32_ksyms.c | 1 -
> arch/parisc/include/asm/mmu_context.h | 1 -
> arch/parisc/include/asm/pgalloc.h | 12 +--
> arch/parisc/kernel/cache.c | 1 -
> arch/parisc/kernel/pci-dma.c | 1 -
> arch/parisc/kernel/process.c | 1 -
> arch/parisc/kernel/signal.c | 1 -
> arch/parisc/kernel/smp.c | 1 -
> arch/parisc/mm/hugetlbpage.c | 1 -
> arch/parisc/mm/ioremap.c | 2 +-
> arch/powerpc/include/asm/tlb.h | 1 -
> arch/powerpc/mm/book3s64/hash_hugetlbpage.c | 1 -
> arch/powerpc/mm/book3s64/hash_pgtable.c | 1 -
> arch/powerpc/mm/book3s64/hash_tlb.c | 1 -
> arch/powerpc/mm/book3s64/radix_hugetlbpage.c | 1 -
> arch/powerpc/mm/init_32.c | 1 -
> arch/powerpc/mm/kasan/8xx.c | 1 -
> arch/powerpc/mm/kasan/book3s_32.c | 1 -
> arch/powerpc/mm/mem.c | 1 -
> arch/powerpc/mm/nohash/40x.c | 1 -
> arch/powerpc/mm/nohash/8xx.c | 1 -
> arch/powerpc/mm/nohash/fsl_booke.c | 1 -
> arch/powerpc/mm/nohash/kaslr_booke.c | 1 -
> arch/powerpc/mm/pgtable.c | 1 -
> arch/powerpc/mm/pgtable_64.c | 1 -
> arch/powerpc/mm/ptdump/hashpagetable.c | 2 +-
> arch/powerpc/mm/ptdump/ptdump.c | 1 -
> arch/powerpc/platforms/pseries/cmm.c | 1 -
> arch/riscv/include/asm/pgalloc.h | 18 +----
> arch/riscv/mm/fault.c | 1 -
> arch/s390/include/asm/tlb.h | 1 -
> arch/s390/include/asm/tlbflush.h | 1 -
> arch/s390/kernel/machine_kexec.c | 1 -
> arch/s390/kernel/ptrace.c | 1 -
> arch/s390/kvm/diag.c | 1 -
> arch/s390/kvm/priv.c | 1 -
> arch/s390/kvm/pv.c | 1 -
> arch/s390/mm/cmm.c | 1 -
> arch/s390/mm/mmap.c | 1 -
> arch/s390/mm/pgtable.c | 1 -
> arch/sh/include/asm/pgalloc.h | 4 +
> arch/sh/kernel/idle.c | 1 -
> arch/sh/kernel/machine_kexec.c | 1 -
> arch/sh/mm/cache-sh3.c | 1 -
> arch/sh/mm/cache-sh7705.c | 1 -
> arch/sh/mm/hugetlbpage.c | 1 -
> arch/sh/mm/init.c | 1 +
> arch/sh/mm/ioremap_fixed.c | 1 -
> arch/sh/mm/tlb-sh3.c | 1 -
> arch/sparc/include/asm/ide.h | 1 -
> arch/sparc/include/asm/tlb_64.h | 1 -
> arch/sparc/kernel/leon_smp.c | 1 -
> arch/sparc/kernel/process_32.c | 1 -
> arch/sparc/kernel/signal_32.c | 1 -
> arch/sparc/kernel/smp_32.c | 1 -
> arch/sparc/kernel/smp_64.c | 1 +
> arch/sparc/kernel/sun4m_irq.c | 1 -
> arch/sparc/mm/highmem.c | 1 -
> arch/sparc/mm/io-unit.c | 1 -
> arch/sparc/mm/iommu.c | 1 -
> arch/sparc/mm/tlb.c | 1 -
> arch/um/include/asm/pgalloc.h | 9 +--
> arch/um/include/asm/pgtable-3level.h | 3 -
> arch/um/kernel/mem.c | 17 -----
> arch/x86/ia32/ia32_aout.c | 1 -
> arch/x86/include/asm/mmu_context.h | 1 -
> arch/x86/include/asm/pgalloc.h | 42 +---------
> arch/x86/kernel/alternative.c | 1 +
> arch/x86/kernel/apic/apic.c | 1 -
> arch/x86/kernel/mpparse.c | 1 -
> arch/x86/kernel/traps.c | 1 -
> arch/x86/mm/fault.c | 1 -
> arch/x86/mm/hugetlbpage.c | 1 -
> arch/x86/mm/kaslr.c | 1 -
> arch/x86/mm/pgtable_32.c | 1 -
> arch/x86/mm/pti.c | 1 -
> arch/x86/platform/uv/bios_uv.c | 1 +
> arch/xtensa/include/asm/pgalloc.h | 40 ++++------
> arch/xtensa/kernel/xtensa_ksyms.c | 1 -
> arch/xtensa/mm/cache.c | 1 -
> arch/xtensa/mm/fault.c | 1 -
> drivers/block/xen-blkback/common.h | 1 -
> drivers/iommu/ipmmu-vmsa.c | 1 -
> drivers/xen/balloon.c | 1 -
> drivers/xen/privcmd.c | 1 -
> fs/binfmt_elf_fdpic.c | 1 -
> include/asm-generic/pgalloc.h | 80 ++++++++++++++++++++
> include/asm-generic/tlb.h | 1 -
> include/linux/mm.h | 45 -----------
> lib/Makefile | 1 -
> mm/Makefile | 2 +-
> mm/hugetlb.c | 1 +
> {lib => mm}/ioremap.c | 2 +
> mm/pgalloc-track.h | 51 +++++++++++++
> mm/sparse.c | 1 -
> mm/vmalloc.c | 1 +
> 151 files changed, 194 insertions(+), 451 deletions(-)
> rename {lib => mm}/ioremap.c (99%)
> create mode 100644 mm/pgalloc-track.h
>
> --
> 2.26.2
>
--
Sincerely yours,
Mike.