[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1572938135-31886-1-git-send-email-rppt@kernel.org>
Date: Tue, 5 Nov 2019 09:15:22 +0200
From: Mike Rapoport <rppt@...nel.org>
To: linux-mm@...ck.org
Cc: Andrew Morton <akpm@...ux-foundation.org>,
Anton Ivanov <anton.ivanov@...bridgegreys.com>,
Arnd Bergmann <arnd@...db.de>,
"David S. Miller" <davem@...emloft.net>,
Geert Uytterhoeven <geert@...ux-m68k.org>,
Greentime Hu <green.hu@...il.com>,
Greg Ungerer <gerg@...ux-m68k.org>,
Helge Deller <deller@....de>,
"James E.J. Bottomley" <James.Bottomley@...senPartnership.com>,
Jeff Dike <jdike@...toit.com>,
"Kirill A. Shutemov" <kirill@...temov.name>,
Linus Torvalds <torvalds@...ux-foundation.org>,
Mark Salter <msalter@...hat.com>,
Matt Turner <mattst88@...il.com>,
Michal Simek <monstr@...str.eu>, Peter Rosin <peda@...ntia.se>,
Richard Weinberger <richard@....at>,
Rolf Eike Beer <eike-kernel@...tec.de>,
Russell King <linux@...linux.org.uk>,
Sam Creasey <sammy@...my.net>,
Vincent Chen <deanbo422@...il.com>,
Vineet Gupta <Vineet.Gupta1@...opsys.com>,
Mike Rapoport <rppt@...nel.org>, linux-alpha@...r.kernel.org,
linux-arch@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
linux-c6x-dev@...ux-c6x.org, linux-kernel@...r.kernel.org,
linux-m68k@...ts.linux-m68k.org, linux-parisc@...r.kernel.org,
linux-um@...ts.infradead.org, sparclinux@...r.kernel.org,
Mike Rapoport <rppt@...ux.ibm.com>
Subject: [PATCH v4 00/13] mm: remove __ARCH_HAS_4LEVEL_HACK
From: Mike Rapoport <rppt@...ux.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 builds.
The set is boot-tested on UML, qemu-{alpha,sparc} and aranym.
v4 changes:
* m68k: fix sun3x_defconfig build and reorder ifdefs as per Geert's
suggestion
v3 changes:
* alpha: fix changelog to use pgtable-nopud.h rather than pgtable-nop4d.h
* um: remove dead-code that was intended as provisioning for 4-level page
tables
v2 changes:
* m68k: fixed ifdefs around pmd_t defintion to work with nommu
* parisc: added conversion of hugetlb (thanks, Helge!); lexical fixups in
comments and changelog
* collected acks
[1] https://lore.kernel.org/lkml/20191016162400.14796-1-vgupta@synopsys.com
Helge Deller (1):
parisc/hugetlb: use pgtable-nopXd instead of 4level-fixup
Mike Rapoport (12):
alpha: use pgtable-nopud 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/mmzone.h | 1 -
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 | 39 +++++++++++----
arch/m68k/mm/mcfmmu.c | 16 +++++-
arch/m68k/mm/motorola.c | 17 ++++---
arch/m68k/sun3x/dvma.c | 7 ++-
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/parisc/mm/hugetlbpage.c | 18 ++++---
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 | 8 ++-
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 ---
64 files changed, 483 insertions(+), 418 deletions(-)
delete mode 100644 include/asm-generic/4level-fixup.h
--
2.7.4
Powered by blists - more mailing lists