linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 00/14] mm: remove __ARCH_HAS_5LEVEL_HACK
@ 2020-02-27  8:45 Mike Rapoport
  2020-02-27  8:45 ` [PATCH v3 01/14] arm/arm64: add support for folded p4d page tables Mike Rapoport
                   ` (13 more replies)
  0 siblings, 14 replies; 17+ messages in thread
From: Mike Rapoport @ 2020-02-27  8:45 UTC (permalink / raw)
  To: linux-kernel
  Cc: Andrew Morton, Arnd Bergmann, Benjamin Herrenschmidt, Brian Cain,
	Catalin Marinas, Christophe Leroy, Fenghua Yu,
	Geert Uytterhoeven, Guan Xuetao, James Morse, Jonas Bonn,
	Julien Thierry, Ley Foon Tan, Marc Zyngier, Michael Ellerman,
	Paul Mackerras, Rich Felker, Russell King, Stafford Horne,
	Stefan Kristiansson, Suzuki K Poulose, Tony Luck, Will Deacon,
	Yoshinori Sato, kvmarm, kvm-ppc, linux-arch, linux-arm-kernel,
	linux-hexagon, linux-ia64, linux-mm, linuxppc-dev, linux-sh,
	nios2-dev, openrisc, uclinux-h8-devel, Mike Rapoport,
	Mike Rapoport

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

Hi,

These patches convert several architectures to use page table folding and
remove __ARCH_HAS_5LEVEL_HACK along with include/asm-generic/5level-fixup.h
and include/asm-generic/pgtable-nop4d-hack.h. With that we'll have a single
and consistent way of dealing with page table folding instead of a mix of
three existing options.

The changes are mostly about mechanical replacement of pgd accessors with p4d
ones and the addition of higher levels to page table traversals.

v3:
* add Christophe's patch that removes ppc32 get_pteptr()
* reduce amount of upper layer walks in powerpc

v2:
* collect per-arch patches into a single set
* include Geert's update of 'sh' printing messages
* rebase on v5.6-rc1+

Christophe Leroy (1):
  powerpc/32: drop get_pteptr()

Geert Uytterhoeven (1):
  sh: fault: Modernize printing of kernel messages

Mike Rapoport (12):
  arm/arm64: add support for folded p4d page tables
  h8300: remove usage of __ARCH_USE_5LEVEL_HACK
  hexagon: remove __ARCH_USE_5LEVEL_HACK
  ia64: add support for folded p4d page tables
  nios2: add support for folded p4d page tables
  openrisc: add support for folded p4d page tables
  powerpc: add support for folded p4d page tables
  sh: drop __pXd_offset() macros that duplicate pXd_index() ones
  sh: add support for folded p4d page tables
  unicore32: remove __ARCH_USE_5LEVEL_HACK
  asm-generic: remove pgtable-nop4d-hack.h
  mm: remove __ARCH_HAS_5LEVEL_HACK and
    include/asm-generic/5level-fixup.h

 arch/arm/include/asm/kvm_mmu.h                |   5 +-
 arch/arm/include/asm/pgtable.h                |   1 -
 arch/arm/include/asm/stage2_pgtable.h         |  15 +-
 arch/arm/lib/uaccess_with_memcpy.c            |   9 +-
 arch/arm/mach-sa1100/assabet.c                |   2 +-
 arch/arm/mm/dump.c                            |  29 ++-
 arch/arm/mm/fault-armv.c                      |   7 +-
 arch/arm/mm/fault.c                           |  28 ++-
 arch/arm/mm/idmap.c                           |   3 +-
 arch/arm/mm/init.c                            |   2 +-
 arch/arm/mm/ioremap.c                         |  12 +-
 arch/arm/mm/mm.h                              |   2 +-
 arch/arm/mm/mmu.c                             |  35 ++-
 arch/arm/mm/pgd.c                             |  40 +++-
 arch/arm64/include/asm/kvm_mmu.h              |  10 +-
 arch/arm64/include/asm/pgalloc.h              |  10 +-
 arch/arm64/include/asm/pgtable-types.h        |   5 +-
 arch/arm64/include/asm/pgtable.h              |  37 ++--
 arch/arm64/include/asm/stage2_pgtable.h       |  48 +++-
 arch/arm64/kernel/hibernate.c                 |  44 +++-
 arch/arm64/mm/fault.c                         |   9 +-
 arch/arm64/mm/hugetlbpage.c                   |  15 +-
 arch/arm64/mm/kasan_init.c                    |  26 ++-
 arch/arm64/mm/mmu.c                           |  52 +++--
 arch/arm64/mm/pageattr.c                      |   7 +-
 arch/h8300/include/asm/pgtable.h              |   1 -
 arch/hexagon/include/asm/fixmap.h             |   4 +-
 arch/hexagon/include/asm/pgtable.h            |   1 -
 arch/ia64/include/asm/pgalloc.h               |   4 +-
 arch/ia64/include/asm/pgtable.h               |  17 +-
 arch/ia64/mm/fault.c                          |   7 +-
 arch/ia64/mm/hugetlbpage.c                    |  18 +-
 arch/ia64/mm/init.c                           |  28 ++-
 arch/nios2/include/asm/pgtable.h              |   3 +-
 arch/nios2/mm/fault.c                         |   9 +-
 arch/nios2/mm/ioremap.c                       |   6 +-
 arch/openrisc/include/asm/pgtable.h           |   1 -
 arch/openrisc/mm/fault.c                      |  10 +-
 arch/openrisc/mm/init.c                       |   4 +-
 arch/powerpc/include/asm/book3s/32/pgtable.h  |   1 -
 arch/powerpc/include/asm/book3s/64/hash.h     |   4 +-
 arch/powerpc/include/asm/book3s/64/pgalloc.h  |   4 +-
 arch/powerpc/include/asm/book3s/64/pgtable.h  |  60 ++---
 arch/powerpc/include/asm/book3s/64/radix.h    |   6 +-
 arch/powerpc/include/asm/nohash/32/pgtable.h  |   1 -
 arch/powerpc/include/asm/nohash/64/pgalloc.h  |   2 +-
 .../include/asm/nohash/64/pgtable-4k.h        |  32 +--
 arch/powerpc/include/asm/nohash/64/pgtable.h  |   6 +-
 arch/powerpc/include/asm/pgtable.h            |   6 +-
 arch/powerpc/kvm/book3s_64_mmu_radix.c        |  30 ++-
 arch/powerpc/lib/code-patching.c              |   7 +-
 arch/powerpc/mm/book3s32/mmu.c                |   2 +-
 arch/powerpc/mm/book3s32/tlb.c                |   4 +-
 arch/powerpc/mm/book3s64/hash_pgtable.c       |   4 +-
 arch/powerpc/mm/book3s64/radix_pgtable.c      |  26 ++-
 arch/powerpc/mm/book3s64/subpage_prot.c       |   6 +-
 arch/powerpc/mm/hugetlbpage.c                 |  28 ++-
 arch/powerpc/mm/kasan/kasan_init_32.c         |   8 +-
 arch/powerpc/mm/mem.c                         |   4 +-
 arch/powerpc/mm/nohash/40x.c                  |   4 +-
 arch/powerpc/mm/nohash/book3e_pgtable.c       |  15 +-
 arch/powerpc/mm/pgtable.c                     |  30 ++-
 arch/powerpc/mm/pgtable_32.c                  |  45 +---
 arch/powerpc/mm/pgtable_64.c                  |  10 +-
 arch/powerpc/mm/ptdump/hashpagetable.c        |  20 +-
 arch/powerpc/mm/ptdump/ptdump.c               |  14 +-
 arch/powerpc/xmon/xmon.c                      |  18 +-
 arch/sh/include/asm/pgtable-2level.h          |   1 -
 arch/sh/include/asm/pgtable-3level.h          |   1 -
 arch/sh/include/asm/pgtable_32.h              |   5 +-
 arch/sh/include/asm/pgtable_64.h              |   5 +-
 arch/sh/kernel/io_trapped.c                   |   7 +-
 arch/sh/mm/cache-sh4.c                        |   4 +-
 arch/sh/mm/cache-sh5.c                        |   7 +-
 arch/sh/mm/fault.c                            |  65 ++++--
 arch/sh/mm/hugetlbpage.c                      |  28 ++-
 arch/sh/mm/init.c                             |  15 +-
 arch/sh/mm/kmap.c                             |   2 +-
 arch/sh/mm/tlbex_32.c                         |   6 +-
 arch/sh/mm/tlbex_64.c                         |   7 +-
 arch/unicore32/include/asm/pgtable.h          |   1 -
 arch/unicore32/kernel/hibernate.c             |   4 +-
 include/asm-generic/5level-fixup.h            |  58 -----
 include/asm-generic/pgtable-nop4d-hack.h      |  64 ------
 include/asm-generic/pgtable-nopud.h           |   4 -
 include/linux/mm.h                            |   6 -
 mm/kasan/init.c                               |  11 -
 mm/memory.c                                   |   8 -
 virt/kvm/arm/mmu.c                            | 209 +++++++++++++++---
 89 files changed, 917 insertions(+), 564 deletions(-)
 delete mode 100644 include/asm-generic/5level-fixup.h
 delete mode 100644 include/asm-generic/pgtable-nop4d-hack.h

-- 
2.24.0



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

end of thread, other threads:[~2020-03-08 10:55 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-02-27  8:45 [PATCH v3 00/14] mm: remove __ARCH_HAS_5LEVEL_HACK Mike Rapoport
2020-02-27  8:45 ` [PATCH v3 01/14] arm/arm64: add support for folded p4d page tables Mike Rapoport
2020-02-27  8:45 ` [PATCH v3 02/14] h8300: remove usage of __ARCH_USE_5LEVEL_HACK Mike Rapoport
2020-02-27  8:45 ` [PATCH v3 03/14] hexagon: remove __ARCH_USE_5LEVEL_HACK Mike Rapoport
2020-02-27  8:45 ` [PATCH v3 04/14] ia64: add support for folded p4d page tables Mike Rapoport
2020-02-27  8:45 ` [PATCH v3 05/14] nios2: " Mike Rapoport
2020-02-27  8:46 ` [PATCH v3 06/14] openrisc: " Mike Rapoport
2020-02-27  8:46 ` [PATCH v3 07/14] powerpc/32: drop get_pteptr() Mike Rapoport
2020-03-07  4:00   ` Andrew Morton
2020-03-08 10:54     ` Mike Rapoport
2020-02-27  8:46 ` [PATCH v3 08/14] powerpc: add support for folded p4d page tables Mike Rapoport
2020-02-27  8:46 ` [PATCH v3 09/14] sh: fault: Modernize printing of kernel messages Mike Rapoport
2020-02-27  8:46 ` [PATCH v3 10/14] sh: drop __pXd_offset() macros that duplicate pXd_index() ones Mike Rapoport
2020-02-27  8:46 ` [PATCH v3 11/14] sh: add support for folded p4d page tables Mike Rapoport
2020-02-27  8:46 ` [PATCH v3 12/14] unicore32: remove __ARCH_USE_5LEVEL_HACK Mike Rapoport
2020-02-27  8:46 ` [PATCH v3 13/14] asm-generic: remove pgtable-nop4d-hack.h Mike Rapoport
2020-02-27  8:46 ` [PATCH v3 14/14] mm: remove __ARCH_HAS_5LEVEL_HACK and include/asm-generic/5level-fixup.h Mike Rapoport

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).