From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-4.1 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, USER_AGENT_GIT autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5EBAECA9ED1 for ; Fri, 1 Nov 2019 08:40:00 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 1D8682080F for ; Fri, 1 Nov 2019 08:40:00 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=kernel.org header.i=@kernel.org header.b="XwzQhtRa" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 1D8682080F Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id A7F736B0005; Fri, 1 Nov 2019 04:39:59 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id A2F5E6B0006; Fri, 1 Nov 2019 04:39:59 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 91F5A6B0007; Fri, 1 Nov 2019 04:39:59 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0179.hostedemail.com [216.40.44.179]) by kanga.kvack.org (Postfix) with ESMTP id 70DAE6B0005 for ; Fri, 1 Nov 2019 04:39:59 -0400 (EDT) Received: from smtpin26.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay03.hostedemail.com (Postfix) with SMTP id 0390D8249980 for ; Fri, 1 Nov 2019 08:39:59 +0000 (UTC) X-FDA: 76107060918.26.bee00_571923ee63b2b X-HE-Tag: bee00_571923ee63b2b X-Filterd-Recvd-Size: 7721 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by imf46.hostedemail.com (Postfix) with ESMTP for ; Fri, 1 Nov 2019 08:39:58 +0000 (UTC) Received: from aquarius.haifa.ibm.com (nesher1.haifa.il.ibm.com [195.110.40.7]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 453C6204FD; Fri, 1 Nov 2019 08:39:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1572597597; bh=JiXfDuhBekyoqYuliW1AsEEezqJqORNkhPnfcBWhLNA=; h=From:To:Cc:Subject:Date:From; b=XwzQhtRaq77RNZdSKxQRAZIyZXDe3BLfRf0c2n8EKtRNsa7Xc369V+mOYgiT72xOo 7I+apK4u5UXS/d8YOCalZuW7seaQgENizuUrEQGp9sAvQLvhPNWfNk03tMvfXBEsi5 cvwq1ADnFefDA5C5sYM7vHMiBb6Vo3fUr5oFcR8o= From: Mike Rapoport To: linux-mm@kvack.org 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 , Peter Rosin , Richard Weinberger , Rolf Eike Beer , Russell King , Sam Creasey , Vincent Chen , Vineet Gupta , Mike Rapoport , linux-alpha@vger.kernel.org, linux-arch@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-c6x-dev@linux-c6x.org, linux-kernel@vger.kernel.org, linux-m68k@lists.linux-m68k.org, linux-parisc@vger.kernel.org, linux-um@lists.infradead.org, sparclinux@vger.kernel.org, Mike Rapoport Subject: [PATCH v2 00/13] mm: remove __ARCH_HAS_4LEVEL_HACK Date: Fri, 1 Nov 2019 10:39:31 +0200 Message-Id: <1572597584-6390-1-git-send-email-rppt@kernel.org> X-Mailer: git-send-email 2.7.4 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: From: Mike Rapoport 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. 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-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/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 | 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 --- 62 files changed, 493 insertions(+), 414 deletions(-) delete mode 100644 include/asm-generic/4level-fixup.h -- 2.7.4