Re: [PATCH 0/8] mm: cleanup usage of

2020-07-02 Thread Mike Rapoport
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

2020-06-29 Thread Pekka Enberg
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

2020-06-27 Thread Matthew Wilcox
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

2020-06-27 Thread Mike Rapoport
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 -