Re: [PATCH 0/8] mm: cleanup usage of
Gentle ping. On Sat, Jun 27, 2020 at 05:34:45PM +0300, Mike Rapoport wrote: > From: Mike Rapoport > > 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 > and enable use of the generic functions where > appropriate. > > In addition, functions declared and defined in headers > are used mostly by core mm and early mm initialization in arch and there is > no actual reason to have the included all over the place. > The first patch in this series removes unneeded includes of > > In the end it didn't work out as neatly as I hoped and moving > pXd_alloc_track() definitions to 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 > 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
Re: [PATCH 0/8] mm: cleanup usage of
On Sat, Jun 27, 2020 at 5:35 PM Mike Rapoport wrote: > 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 > and enable use of the generic functions where > appropriate. Very nice cleanup series to the page table code! FWIW: Reviewed-by: Pekka Enberg
Re: [PATCH 0/8] mm: cleanup usage of
On Sat, Jun 27, 2020 at 05:34:45PM +0300, Mike Rapoport wrote: > 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 > and enable use of the generic functions where > appropriate. For the series: Reviewed-by: Matthew Wilcox (Oracle)
[PATCH 0/8] mm: cleanup usage of
From: Mike Rapoport 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 and enable use of the generic functions where appropriate. In addition, functions declared and defined in headers are used mostly by core mm and early mm initialization in arch and there is no actual reason to have the included all over the place. The first patch in this series removes unneeded includes of In the end it didn't work out as neatly as I hoped and moving pXd_alloc_track() definitions to 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 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 -