linux-parisc.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/12] mm: remove __ARCH_HAS_4LEVEL_HACK
@ 2019-10-23  9:28 Mike Rapoport
  2019-10-23  9:28 ` [PATCH 01/12] alpha: use pgtable-nop4d instead of 4level-fixup Mike Rapoport
                   ` (12 more replies)
  0 siblings, 13 replies; 31+ messages in thread
From: Mike Rapoport @ 2019-10-23  9:28 UTC (permalink / raw)
  To: linux-mm
  Cc: Andrew Morton, Anton Ivanov, Arnd Bergmann, David S. Miller,
	Geert Uytterhoeven, Greentime Hu, Greg Ungerer, Helge Deller,
	James E.J. Bottomley, Jeff Dike, Kirill A. Shutemov,
	Linus Torvalds, Mark Salter, Matt Turner, Michal Simek,
	Richard Weinberger, Russell King, Sam Creasey, Vincent Chen,
	Vineet Gupta, Mike Rapoport, linux-alpha, linux-arch,
	linux-arm-kernel, linux-c6x-dev, linux-kernel, linux-m68k,
	linux-parisc, linux-um, sparclinux, Mike Rapoport

From: Mike Rapoport <rppt@linux.ibm.com>

Hi,

These patches convert several architectures to use page table folding and
remove __ARCH_HAS_4LEVEL_HACK along with include/asm-generic/4level-fixup.h.

For the nommu configurations the folding is already implemented by the
generic code so the only change was to use the appropriate header file.

As for the rest, the changes are mostly about mechanical replacement of
pgd accessors with pud/pmd ones and the addition of higher levels to page
table traversals.

With Vineet's patches from "elide extraneous generated code for folded
p4d/pud/pmd" series [1] there is a small shrink of the kernel size of about
-0.01% for the defconfig build. 

The set is boot-tested on UML, qemu-{alpha,sparc} and aranym.

[1] https://lore.kernel.org/lkml/20191016162400.14796-1-vgupta@synopsys.com

Mike Rapoport (12):
  alpha: use pgtable-nop4d instead of 4level-fixup
  arm: nommu: use pgtable-nopud instead of 4level-fixup
  c6x: use pgtable-nopud instead of 4level-fixup
  m68k: nommu: use pgtable-nopud instead of 4level-fixup
  m68k: mm: use pgtable-nopXd instead of 4level-fixup
  microblaze: use pgtable-nopmd instead of 4level-fixup
  nds32: use pgtable-nopmd instead of 4level-fixup
  parisc: use pgtable-nopXd instead of 4level-fixup
  sparc32: use pgtable-nopud instead of 4level-fixup
  um: remove unused pxx_offset_proc() and addr_pte() functions
  um: add support for folded p4d page tables
  mm: remove __ARCH_HAS_4LEVEL_HACK and include/asm-generic/4level-fixup.h

 arch/alpha/include/asm/pgalloc.h         |  4 +-
 arch/alpha/include/asm/pgtable.h         | 24 ++++-----
 arch/alpha/mm/init.c                     | 12 +++--
 arch/arm/include/asm/pgtable.h           |  2 +-
 arch/c6x/include/asm/pgtable.h           |  2 +-
 arch/m68k/include/asm/mcf_pgalloc.h      |  7 ---
 arch/m68k/include/asm/mcf_pgtable.h      | 28 ++++-------
 arch/m68k/include/asm/mmu_context.h      | 12 ++++-
 arch/m68k/include/asm/motorola_pgalloc.h |  4 +-
 arch/m68k/include/asm/motorola_pgtable.h | 32 +++++++-----
 arch/m68k/include/asm/page.h             |  9 ++--
 arch/m68k/include/asm/pgtable_mm.h       | 11 +++--
 arch/m68k/include/asm/pgtable_no.h       |  2 +-
 arch/m68k/include/asm/sun3_pgalloc.h     |  5 --
 arch/m68k/include/asm/sun3_pgtable.h     | 18 -------
 arch/m68k/kernel/sys_m68k.c              | 10 +++-
 arch/m68k/mm/init.c                      |  6 ++-
 arch/m68k/mm/kmap.c                      | 36 ++++++++++----
 arch/m68k/mm/mcfmmu.c                    | 16 +++++-
 arch/m68k/mm/motorola.c                  | 17 ++++---
 arch/microblaze/include/asm/page.h       |  3 --
 arch/microblaze/include/asm/pgalloc.h    | 16 ------
 arch/microblaze/include/asm/pgtable.h    | 32 +-----------
 arch/microblaze/kernel/signal.c          | 10 ++--
 arch/microblaze/mm/init.c                |  7 ++-
 arch/microblaze/mm/pgtable.c             | 13 ++++-
 arch/nds32/include/asm/page.h            |  3 --
 arch/nds32/include/asm/pgalloc.h         |  3 --
 arch/nds32/include/asm/pgtable.h         | 12 +----
 arch/nds32/include/asm/tlb.h             |  1 -
 arch/nds32/kernel/pm.c                   |  4 +-
 arch/nds32/mm/fault.c                    | 16 ++++--
 arch/nds32/mm/init.c                     | 11 +++--
 arch/nds32/mm/mm-nds32.c                 |  6 ++-
 arch/nds32/mm/proc.c                     | 26 ++++++----
 arch/parisc/include/asm/page.h           | 30 ++++++-----
 arch/parisc/include/asm/pgalloc.h        | 41 ++++++---------
 arch/parisc/include/asm/pgtable.h        | 52 ++++++++++---------
 arch/parisc/include/asm/tlb.h            |  2 +
 arch/parisc/kernel/cache.c               | 13 +++--
 arch/parisc/kernel/pci-dma.c             |  9 +++-
 arch/parisc/mm/fixmap.c                  | 10 ++--
 arch/sparc/include/asm/pgalloc_32.h      |  6 +--
 arch/sparc/include/asm/pgtable_32.h      | 28 +++++------
 arch/sparc/mm/fault_32.c                 | 11 ++++-
 arch/sparc/mm/highmem.c                  |  6 ++-
 arch/sparc/mm/io-unit.c                  |  6 ++-
 arch/sparc/mm/iommu.c                    |  6 ++-
 arch/sparc/mm/srmmu.c                    | 51 ++++++++++++++-----
 arch/um/include/asm/pgtable-2level.h     |  1 -
 arch/um/include/asm/pgtable-3level.h     |  1 -
 arch/um/include/asm/pgtable.h            |  3 ++
 arch/um/kernel/mem.c                     | 25 +++++++++-
 arch/um/kernel/skas/mmu.c                | 12 ++++-
 arch/um/kernel/skas/uaccess.c            |  7 ++-
 arch/um/kernel/tlb.c                     | 85 +++++++++++++++++++-------------
 arch/um/kernel/trap.c                    |  4 +-
 include/asm-generic/4level-fixup.h       | 40 ---------------
 include/asm-generic/tlb.h                |  2 -
 include/linux/mm.h                       | 10 ++--
 mm/memory.c                              |  8 ---
 61 files changed, 481 insertions(+), 408 deletions(-)
 delete mode 100644 include/asm-generic/4level-fixup.h

-- 
2.7.4


^ permalink raw reply	[flat|nested] 31+ messages in thread

end of thread, other threads:[~2019-10-25 20:33 UTC | newest]

Thread overview: 31+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-10-23  9:28 [PATCH 00/12] mm: remove __ARCH_HAS_4LEVEL_HACK Mike Rapoport
2019-10-23  9:28 ` [PATCH 01/12] alpha: use pgtable-nop4d instead of 4level-fixup Mike Rapoport
2019-10-23  9:28 ` [PATCH 02/12] arm: nommu: use pgtable-nopud " Mike Rapoport
2019-10-23  9:40   ` Russell King - ARM Linux admin
2019-10-23  9:28 ` [PATCH 03/12] c6x: " Mike Rapoport
2019-10-23  9:28 ` [PATCH 04/12] m68k: nommu: " Mike Rapoport
2019-10-24  4:09   ` Greg Ungerer
2019-10-24  5:35     ` Mike Rapoport
2019-10-24  6:23       ` Greg Ungerer
2019-10-23  9:28 ` [PATCH 05/12] m68k: mm: use pgtable-nopXd " Mike Rapoport
2019-10-24  4:12   ` Greg Ungerer
2019-10-25  5:52   ` kbuild test robot
2019-10-23  9:28 ` [PATCH 06/12] microblaze: use pgtable-nopmd " Mike Rapoport
2019-10-25  2:17   ` kbuild test robot
2019-10-25  8:24   ` Michal Simek
2019-10-25 20:33     ` Mike Rapoport
2019-10-23  9:28 ` [PATCH 07/12] nds32: " Mike Rapoport
2019-10-23  9:28 ` [PATCH 08/12] parisc: use pgtable-nopXd " Mike Rapoport
2019-10-23 10:20   ` Rolf Eike Beer
2019-10-24  8:51     ` Mike Rapoport
2019-10-24  9:35   ` Peter Rosin
2019-10-24  9:50     ` Mike Rapoport
2019-10-24 12:02   ` Helge Deller
2019-10-24 16:00     ` Mike Rapoport
2019-10-23  9:28 ` [PATCH 09/12] sparc32: use pgtable-nopud " Mike Rapoport
2019-10-23 19:59   ` [PATCH v2 " Mike Rapoport
2019-10-23 21:21     ` David Miller
2019-10-23  9:28 ` [PATCH 10/12] um: remove unused pxx_offset_proc() and addr_pte() functions Mike Rapoport
2019-10-23  9:29 ` [PATCH 11/12] um: add support for folded p4d page tables Mike Rapoport
2019-10-23  9:29 ` [PATCH 12/12] mm: remove __ARCH_HAS_4LEVEL_HACK and include/asm-generic/4level-fixup.h Mike Rapoport
2019-10-23 10:25 ` [PATCH 00/12] mm: remove __ARCH_HAS_4LEVEL_HACK Linus Torvalds

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).