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 Received: from lists.ozlabs.org (lists.ozlabs.org [112.213.38.117]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id C4B9DD715E3 for ; Sat, 24 Jan 2026 10:16:08 +0000 (UTC) Received: from boromir.ozlabs.org (localhost [127.0.0.1]) by lists.ozlabs.org (Postfix) with ESMTP id 4dyrKz0PZcz2xqj; Sat, 24 Jan 2026 21:16:07 +1100 (AEDT) Authentication-Results: lists.ozlabs.org; arc=none smtp.remote-ip="2600:3c0a:e001:78e:0:1991:8:25" ARC-Seal: i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707; t=1769249767; cv=none; b=RZ+yIuuEOw384G+3xmav3zK5pr/FEBUBbYDmdNG66bZzb7YYqJRpDRhGkE4kk2Bikbwcy4x+vbqWod9WaoYcZYBxrAhGp7K0gcKX0f06m052im7HFXda2eYEvmqdre7gdZatR0CV4Ri0mQD6DpuncvNYqQRnULirzmwrYZltj4OYYD4UglsLyFMRr1a4Zw+WnssSm8uRcf68svQFTBFfjjIP1e0bnXwI8BfZ88djSSEK2Qjv2b7/qcarSbYR6kLK6ZS4zdAfDzM3HgANHPs9me0WGD4WF2qwlEqS/WIO59BggYGbeNK2uE0kAykfCJKJ+fVTOb+gI/zF5pBKSzxukg== ARC-Message-Signature: i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707; t=1769249767; c=relaxed/relaxed; bh=W/5NPMb0LZF5TbTdERpsT57n+ZMmWhyHLzllN9jVgX4=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=g8upDvoiQU2uKs9jh14VgVqdrSemvMV+pbIjpvZq3YwRxjTI4N4cpCZW0KeKU5r5RzJMs2Zgo49AOhZzC6sXPLS2o3TP72IqkD2Ae1t9QV+1o3B0m3+47wnGy/02luG1XeAnl/P4ma0ooSPy4+C+70/RHXhO35O/j3al0pysLEL7Kcj15900BZOLPr7QjK72/D0eRBGgx74A5HK6cI6gg1rCxqYGDK8lU/sYKy7h5Nkvv/V2DZHSQZnJPhb/yYfheWenKo4ZsXbv+9CeH73D0yRbNkd/EPXN8QZSf58lFp4l/5tWgHvIJeDMegJvnXyiaL0rfs8WRayJjR+cv+fJHQ== ARC-Authentication-Results: i=1; lists.ozlabs.org; dmarc=pass (p=quarantine dis=none) header.from=kernel.org; dkim=pass (2048-bit key; unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256 header.s=k20201202 header.b=BG+9wd2o; dkim-atps=neutral; spf=pass (client-ip=2600:3c0a:e001:78e:0:1991:8:25; helo=sea.source.kernel.org; envelope-from=chleroy@kernel.org; receiver=lists.ozlabs.org) smtp.mailfrom=kernel.org Authentication-Results: lists.ozlabs.org; dmarc=pass (p=quarantine dis=none) header.from=kernel.org Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256 header.s=k20201202 header.b=BG+9wd2o; dkim-atps=neutral Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=kernel.org (client-ip=2600:3c0a:e001:78e:0:1991:8:25; helo=sea.source.kernel.org; envelope-from=chleroy@kernel.org; receiver=lists.ozlabs.org) Received: from sea.source.kernel.org (sea.source.kernel.org [IPv6:2600:3c0a:e001:78e:0:1991:8:25]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 4dyrKx1vWvz2xSN for ; Sat, 24 Jan 2026 21:16:05 +1100 (AEDT) Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sea.source.kernel.org (Postfix) with ESMTP id 7ED6843C9A; Sat, 24 Jan 2026 10:16:02 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1D83BC116D0; Sat, 24 Jan 2026 10:15:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1769249762; bh=UPTxfV10NFGsFNMLbllwwGihhByrD9Chz5Ya/aU4aSQ=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=BG+9wd2ovrMG5pu7KsxBmuHPlYw48y+qEQuXSOmuaQ786O9ubyptVjzd3TPikqKEV MtPvuwrKZtwGgD5G4X1PGRfnjjFohKmYb3O3Y4u5BFFb01X2hKPytrs6tuQ52Dm9nS fmDIq7vs8J8McangAIFv826LCzRZLNgtf/9d3q8GVASVYzXNiEOedwA61U/TSPBRLw B/uNVy9iMafbxhVtHeEUGbMQNxTqlAJ8n51n6Tyk+R2myqLHAu834xSBnmo1UVELl7 eeika37+zLOWSlLAtg5QwuglP1fRf1menyZ0BPn8+f6CDzm2bJ29YHmoNsPqWpbZ5/ er2PErNhz4kjQ== Message-ID: <02784e9a-d934-44c3-ae24-a83a1bcf678d@kernel.org> Date: Sat, 24 Jan 2026 11:15:47 +0100 X-Mailing-List: linuxppc-dev@lists.ozlabs.org List-Id: List-Help: List-Owner: List-Post: List-Archive: , List-Subscribe: , , List-Unsubscribe: Precedence: list MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH mm-unstable] arch, mm: consolidate empty_zero_page To: Mike Rapoport , Andrew Morton Cc: Andreas Larsson , Borislav Petkov , Brian Cain , Catalin Marinas , "David S. Miller" , Dave Hansen , David Hildenbrand , Dinh Nguyen , Geert Uytterhoeven , Guo Ren , Helge Deller , Huacai Chen , Ingo Molnar , Johannes Berg , John Paul Adrian Glaubitz , "Liam R. Howlett" , Lorenzo Stoakes , Madhavan Srinivasan , Magnus Lindholm , Matt Turner , Max Filippov , Michael Ellerman , Michal Hocko , Michal Simek , Palmer Dabbelt , Richard Weinberger , Russell King , Stafford Horne , Suren Baghdasaryan , Thomas Gleixner , Vineet Gupta , Vlastimil Babka , 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-openrisc@vger.kernel.org, linux-parisc@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-riscv@lists.infradead.org, linux-sh@vger.kernel.org, sparclinux@vger.kernel.org, linux-um@lists.infradead.org, linux-mm@kvack.org, x86@kernel.org References: <20260124095628.668870-1-rppt@kernel.org> Content-Language: fr-FR From: "Christophe Leroy (CS GROUP)" In-Reply-To: <20260124095628.668870-1-rppt@kernel.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Le 24/01/2026 à 10:56, Mike Rapoport a écrit : > From: "Mike Rapoport (Microsoft)" > > Reduce 22 declarations of empty_zero_page to 3 and 23 declarations of > ZERO_PAGE() to 4. > > Every architecture defines empty_zero_page that way or another, but for the > most of them it is always a page aligned page in BSS and most definitions > of ZERO_PAGE do virt_to_page(empty_zero_page). > > Move Linus vetted x86 definition of empty_zero_page and ZERO_PAGE() to the > core MM and drop these definitions in architectures that do not implement > colored zero page (MIPS and s390). > > ZERO_PAGE() remains a macro because turning it to a wrapper for a static > inline causes severe pain in header dependencies. > > For the most part the change is mechanical, with these being noteworthy: > > * alpha: aliased empty_zero_page with ZERO_PGE that was also used for boot > parameters. Switching to a generic empty_zero_page removes the aliasing > and keeps ZERO_PGE for boot parameters only > * arm64: uses __pa_symbol() in ZERO_PAGE() so that definition of > ZERO_PAGE() is kept intact. > * m68k/parisc/sparc64/um: allocated empty_zero_page from memblock, > although they do not support zero page coloring and having it in BSS > will work fine. > * sh: used empty_zero_page for boot parameters at the very early boot. > Rename the parameters page to boot_params_page and let sh use the generic > empty_zero_page. > * hexagon: had an amusing comment about empty_zero_page > > /* A handy thing to have if one has the RAM. Declared in head.S */ > > that unfortunately had to go :) > > Signed-off-by: Mike Rapoport (Microsoft) > --- > arch/alpha/include/asm/pgtable.h | 6 ------ > arch/arc/include/asm/pgtable.h | 3 --- > arch/arc/mm/init.c | 2 -- > arch/arm/include/asm/pgtable.h | 9 --------- > arch/arm/mm/mmu.c | 7 ------- > arch/arm/mm/nommu.c | 7 ------- > arch/arm64/include/asm/pgtable.h | 1 - > arch/arm64/mm/mmu.c | 7 ------- > arch/csky/include/asm/pgtable.h | 3 --- > arch/csky/mm/init.c | 3 --- > arch/hexagon/include/asm/pgtable.h | 6 ------ > arch/hexagon/kernel/head.S | 5 ----- > arch/hexagon/kernel/hexagon_ksyms.c | 1 - > arch/loongarch/include/asm/pgtable.h | 9 --------- > arch/loongarch/mm/init.c | 3 --- > arch/m68k/include/asm/pgtable_mm.h | 9 --------- > arch/m68k/include/asm/pgtable_no.h | 7 ------- > arch/m68k/mm/init.c | 9 --------- > arch/m68k/mm/mcfmmu.c | 2 -- > arch/m68k/mm/motorola.c | 6 ------ > arch/m68k/mm/sun3mmu.c | 2 -- > arch/microblaze/include/asm/pgtable.h | 10 ---------- > arch/microblaze/kernel/head.S | 4 ---- > arch/microblaze/kernel/microblaze_ksyms.c | 2 -- > arch/nios2/include/asm/pgtable.h | 7 ------- > arch/nios2/kernel/head.S | 10 ---------- > arch/nios2/kernel/nios2_ksyms.c | 1 - > arch/openrisc/include/asm/pgtable.h | 4 ---- > arch/openrisc/kernel/head.S | 3 --- > arch/openrisc/kernel/or32_ksyms.c | 1 - > arch/openrisc/mm/init.c | 3 --- > arch/parisc/include/asm/pgtable.h | 11 ----------- > arch/parisc/mm/init.c | 6 ------ > arch/powerpc/include/asm/pgtable.h | 6 ------ > arch/powerpc/mm/mem.c | 3 --- For powerpc: Reviewed-by: Christophe Leroy (CS GROUP) > arch/riscv/include/asm/pgtable.h | 7 ------- > arch/riscv/mm/init.c | 4 ---- > arch/sh/include/asm/pgtable.h | 8 -------- > arch/sh/include/asm/setup.h | 3 ++- > arch/sh/kernel/head_32.S | 4 ++-- > arch/sh/kernel/sh_ksyms_32.c | 1 - > arch/sh/mm/init.c | 1 - > arch/sparc/include/asm/pgtable_32.h | 8 -------- > arch/sparc/include/asm/pgtable_64.h | 3 --- > arch/sparc/include/asm/setup.h | 2 -- > arch/sparc/kernel/head_32.S | 7 ------- > arch/sparc/mm/init_32.c | 4 ---- > arch/sparc/mm/init_64.c | 15 --------------- > arch/um/include/asm/pgtable.h | 9 --------- > arch/um/include/shared/kern_util.h | 1 - > arch/um/kernel/mem.c | 16 ---------------- > arch/um/kernel/um_arch.c | 1 - > arch/x86/include/asm/pgtable.h | 8 -------- > arch/x86/kernel/head_32.S | 4 ---- > arch/x86/kernel/head_64.S | 7 ------- > arch/xtensa/include/asm/pgtable.h | 4 ---- > arch/xtensa/kernel/head.S | 3 --- > arch/xtensa/kernel/xtensa_ksyms.c | 2 -- > include/linux/pgtable.h | 8 ++++++++ > mm/mm_init.c | 9 +++++++++ > 60 files changed, 21 insertions(+), 296 deletions(-) >