From patchwork Thu Mar 6 18:51:10 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mike Rapoport X-Patchwork-Id: 14005189 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id F18C2C282D1 for ; Thu, 6 Mar 2025 18:51:49 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4058A280003; Thu, 6 Mar 2025 13:51:49 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 3B683280002; Thu, 6 Mar 2025 13:51:49 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 256B1280003; Thu, 6 Mar 2025 13:51:49 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 08ED9280002 for ; Thu, 6 Mar 2025 13:51:49 -0500 (EST) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id F0A631224FF for ; Thu, 6 Mar 2025 18:51:48 +0000 (UTC) X-FDA: 83192020296.02.08E3FA4 Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91]) by imf28.hostedemail.com (Postfix) with ESMTP id A88D4C0006 for ; Thu, 6 Mar 2025 18:51:46 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=P80r7Rsa; spf=pass (imf28.hostedemail.com: domain of rppt@kernel.org designates 147.75.193.91 as permitted sender) smtp.mailfrom=rppt@kernel.org; dmarc=pass (policy=quarantine) header.from=kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1741287107; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:references:dkim-signature; bh=p2jmDVoZcl7tE2Dh5WWjimkGXnPeuYWanA2LquWNQgA=; b=u9zbnPShk++58k4BHL1KUDXXHqVBrBeNtJFEl1NGYLBr+mgy1msxn0D+8vZv4Kgde66SH8 97bv6QidlgGDjWKZHjJrXMUd+6Pp6vLYIUpVH1UbThisnXs6QmIXLPMVaHHLK1oRnZETjX UH/qdak2x1Hnkix7gwJSQWLCLUJ9Ocg= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=P80r7Rsa; spf=pass (imf28.hostedemail.com: domain of rppt@kernel.org designates 147.75.193.91 as permitted sender) smtp.mailfrom=rppt@kernel.org; dmarc=pass (policy=quarantine) header.from=kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1741287107; a=rsa-sha256; cv=none; b=DNYFKstJtD79EdDcOt+QIN6WBtH5PuiOc9pNVQvknS634uJF1mdhTwsN4xkfQ+VA3KzGy4 vTWrHPnzgbez1cmrMOpZs46hFfNLGOdTpzcdBfr8poq9AwEXdximyLfn5/nNDcD/kY2oaJ IhaGfWe14Fg6tRBhRYWoSacoVYyE+JA= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by nyc.source.kernel.org (Postfix) with ESMTP id D37E4A45015; Thu, 6 Mar 2025 18:46:14 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 73E1BC4CEE0; Thu, 6 Mar 2025 18:51:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1741287105; bh=/wpX+rodiPgNkc2E/+2EOJ8vtAUtpxXz9ICTWI7pMKs=; h=From:To:Cc:Subject:Date:From; b=P80r7Rsa2pkCu11363Fa/SyYTsTL5K11aoIfGVkUhXZXMZF9ghtejyVAEAn/9gYin 1wjIQSDGLefP2aOn0lF4nfOFQWYeL481ld2xteJKdOm4N0DyD3FCaFsp8v0/3LF+Zj A1q//tTu1zIkAikd8Mvn+6NSXoOT1YkxG40QhglljaBoNvOzWHiF8i1U7IHFop/QuY 5qG0votPJ3w9ptEMTqOjG9ejudqVaGGqjAr6pLD9gnSTU97J4z2wTm+bpnENlPeeCa JlGFrkz4pFB5qBl+yf6kzfEB+qI0NhdVqEy7aOxbZiiRw30qg1qYZpVJ1ch4THxRCE TD35zfcbQZ4wA== From: Mike Rapoport To: Andrew Morton Cc: Alexander Gordeev , Andreas Larsson , Andy Lutomirski , Arnd Bergmann , Borislav Petkov , Brian Cain , Catalin Marinas , Dave Hansen , "David S. Miller" , Dinh Nguyen , Geert Uytterhoeven , Gerald Schaefer , Guo Ren , Heiko Carstens , Helge Deller , Huacai Chen , Ingo Molnar , Jiaxun Yang , Johannes Berg , John Paul Adrian Glaubitz , Madhavan Srinivasan , Matt Turner , Max Filippov , Michael Ellerman , Michal Simek , Mike Rapoport , Palmer Dabbelt , Peter Zijlstra , Richard Weinberger , Russell King , Stafford Horne , Thomas Bogendoerfer , Thomas Gleixner , Vasily Gorbik , Vineet Gupta , Will Deacon , linux-alpha@vger.kernel.org, linux-kernel@vger.kernel.org, linux-snps-arc@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-csky@vger.kernel.org, linux-hexagon@vger.kernel.org, loongarch@lists.linux.dev, linux-m68k@lists.linux-m68k.org, linux-mips@vger.kernel.org, linux-openrisc@vger.kernel.org, linux-parisc@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org, linux-sh@vger.kernel.org, sparclinux@vger.kernel.org, linux-um@lists.infradead.org, linux-arch@vger.kernel.org, linux-mm@kvack.org, x86@kernel.org Subject: [PATCH 00/13] arch, mm: reduce code duplication in mem_init() Date: Thu, 6 Mar 2025 20:51:10 +0200 Message-ID: <20250306185124.3147510-1-rppt@kernel.org> X-Mailer: git-send-email 2.47.2 MIME-Version: 1.0 X-Rspam-User: X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: A88D4C0006 X-Stat-Signature: p53e4k1nh65po9zn9psn1bq6ii8ky8np X-HE-Tag: 1741287106-788051 X-HE-Meta: U2FsdGVkX19/6BCPa9TOqDe98t5jWTxMM63VkOoNyUdzaAhdqcQFhdhovMBdGbo9znL2Hvpl0CYWdWdnHmw5Uh70r6jkax4lxlznDH1SeHUzx0kNbQaxhZTktz5sgXISXb8e4FVKN1fVVS3EACox3+301wYSdrbGD9sEn5ArFf6jT1t6vMTiVrMBlGR4cWoyXZsYbVsY8du3B8v3HD5B98HxCq5K3cxiMMCQ+4LpjhpCyeH7eNo1T13c2czRh9Gcz7S+wejSytkrRYR4LDSZFkH1RtsC0W3HpEqmlsoslXKftQcQNJ4YQk97TzBupRnxUeqToMJay0jbJXWtc+JO9k+32jAoXM9mfymNqeIb041tO2gzFtIm1nLPzDkZPUoWxyMkrtozgY+x8iqw+KFVX7NSNWDPQlaHcprxve9T4Efql9bRfSx5SRZHy2eTj1JNR53YanaBP5InmjgeWESIJ5dID3SbYcROTeYYKTS2nM03XRbS2D3TAvf/hrQHC1SX/sz/Qw9BcP1WwS9y7Ku+vFN7680czFXz4CuQNfEA5xy6J1Qtn1S0QbPIWtcnI6dngrk8Pd7JZIEsU5Ew70lZuaIN6a2/XRyusEg+TXTb4Z8zsdTy4wg7kqAi8+wpEDLWMXpkcGuhznoeG9q5BJZBxNJlev/ep18qeUZrEJPGTRCi9QaB/xwXKahy9vM2fTvKn04XIsAQ88bq9qUuO5dLc2BqIrfLKRsNCggqMR1tjYhfC8bN48W/bk8EOXcJNzFHWQRn/eufyiBUtFe3esnrrHLhk9kMhiBZY4kNuYKUUBc2sR7uxR5OJSxbFvBriykyG99cBZmn8o7hlsgVnq0Idcd5EF3Oncg1+2cQvTPi4zEhWAgmqanN7Dn1I4NgVNfkU2crt9zTHvyTK+6kb7Wx6DSbjwZabW3GOsuHsWHHFYdLh6LIHsNt4kv/GL3HTy6GdhxT/1e/0zZn7r+ANuZ R0BunWkj bN2ZjjraGKbN/TmgwC3KUMDPtzswYEVVI/krf0W8sUYQ5aFv0Se9xbTLF53LpWin13YBowdhuhHcuQyaGAnJc5eqkM43abe92tixS5hJzY6e9RiQe++gaM8h0Qt4Y2w9uMr2XsVl6XXpMdO/DiMaK+iLNYutvj7TqNW92Qo63AjVygRxqyV5eeO9R3Xc+HdP1mkclhuZtWShGwPhstGpSEs0MD8vdHMV4bpQRM+WH67p9mOir7Y2LHrk2Cwbgoix2NmLox062Ad3TxLS1yn2yU1J0kw== 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: List-Subscribe: List-Unsubscribe: From: "Mike Rapoport (Microsoft)" Hi, Every architecture has implementation of mem_init() function and some even more than one. All these release free memory to the buddy allocator, most of them set high_memory to the end of directly addressable memory and many of them set max_mapnr for FLATMEM case. These patches pull the commonalities into the generic code and refactor some of the mem_init() implementations so that many of them can be just dropped. Mike Rapoport (Microsoft) (13): arm: mem_init: use memblock_phys_free() to free DMA memory on SA1111 csky: move setup_initrd() to setup.c hexagon: move initialization of init_mm.context init to paging_init() MIPS: consolidate mem_init() for NUMA machines MIPS: make setup_zero_pages() use memblock nios2: move pr_debug() about memory start and end to setup_arch() s390: make setup_zero_pages() use memblock xtensa: split out printing of virtual memory layout to a function arch, mm: set max_mapnr when allocating memory map for FLATMEM arch, mm: set high_memory in free_area_init() arch, mm: streamline HIGHMEM freeing arch, mm: introduce arch_mm_preinit arch, mm: make releasing of memory to page allocator more explicit arch/alpha/mm/init.c | 8 ---- arch/arc/mm/init.c | 25 +---------- arch/arm/mm/init.c | 43 +------------------ arch/arm/mm/mmu.c | 2 - arch/arm/mm/nommu.c | 1 - arch/arm64/mm/init.c | 12 +----- arch/csky/kernel/setup.c | 43 +++++++++++++++++++ arch/csky/mm/init.c | 67 ------------------------------ arch/hexagon/mm/init.c | 32 ++------------ arch/loongarch/kernel/numa.c | 6 --- arch/loongarch/mm/init.c | 8 ---- arch/m68k/mm/init.c | 4 -- arch/m68k/mm/mcfmmu.c | 1 - arch/m68k/mm/motorola.c | 2 - arch/m68k/sun3/config.c | 1 - arch/microblaze/mm/init.c | 25 ----------- arch/mips/include/asm/mmzone.h | 2 - arch/mips/loongson64/numa.c | 7 ---- arch/mips/mm/init.c | 49 ++++------------------ arch/mips/sgi-ip27/ip27-memory.c | 9 ---- arch/nios2/kernel/setup.c | 3 +- arch/nios2/mm/init.c | 16 +------ arch/openrisc/mm/init.c | 6 --- arch/parisc/mm/init.c | 4 -- arch/powerpc/kernel/setup-common.c | 3 -- arch/powerpc/mm/mem.c | 18 +------- arch/riscv/mm/init.c | 5 +-- arch/s390/mm/init.c | 18 +------- arch/sh/mm/init.c | 10 ----- arch/sparc/mm/init_32.c | 31 +------------- arch/sparc/mm/init_64.c | 4 -- arch/um/include/shared/mem_user.h | 1 - arch/um/kernel/mem.c | 9 ++-- arch/um/kernel/physmem.c | 12 ------ arch/um/kernel/um_arch.c | 2 - arch/x86/include/asm/highmem.h | 3 -- arch/x86/include/asm/numa.h | 4 -- arch/x86/include/asm/numa_32.h | 13 ------ arch/x86/kernel/setup.c | 2 - arch/x86/mm/Makefile | 2 - arch/x86/mm/highmem_32.c | 34 --------------- arch/x86/mm/init_32.c | 41 ++---------------- arch/x86/mm/init_64.c | 7 ++-- arch/x86/mm/numa_32.c | 3 -- arch/xtensa/mm/init.c | 66 +++++++---------------------- include/asm-generic/memory_model.h | 5 ++- include/linux/memblock.h | 1 - include/linux/mm.h | 13 +----- mm/internal.h | 3 +- mm/memblock.c | 3 +- mm/memory.c | 16 ------- mm/mm_init.c | 58 ++++++++++++++++++++++---- mm/nommu.c | 6 --- 53 files changed, 151 insertions(+), 618 deletions(-) delete mode 100644 arch/x86/include/asm/numa_32.h delete mode 100644 arch/x86/mm/highmem_32.c base-commit: d082ecbc71e9e0bf49883ee4afd435a77a5101b6 Acked-by: Dave Hansen