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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (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 DD3E8EB270F for ; Wed, 11 Feb 2026 10:32:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Content-Transfer-Encoding: MIME-Version:Message-ID:Date:Subject:Cc:To:From:Reply-To:Content-Type: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Owner; bh=icF2+PwVaSY7S9HGXldpzB+lF1cDxRtpf0+cMzX32GE=; b=Gl4CZkvnD/dhi0bhBeyi9D42R3 6F7m09xTAtGwVdQ/ouKPSsKz1Ptulkk0iujOFW8qHP7moepnGkWDlBnNz6T+qHkxvr24/3ThMMgW7 DPIAglW7yP+Tgccp+pgztpjT49DNOim6u4azNFl8shwIA8m/G+zHsjEEocRFgOh1snjcJO/6cPVxw JoD75jnqVT9UOJo+TLQcUPiFTuDrnfwK7CSWZ4XE9ePiE8XnHdUaW3V6oEIKRlES7hxKAkz+UnIQO g5jR8rvZewe4eKPMj6Rwp6qrdJ3YvbG6h+Zjex/BSIXDyL02+PTtLbs2AD6H65z6tvf06kf9SkCm8 nQv5kVXQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1vq7Vr-00000000VQq-03sX; Wed, 11 Feb 2026 10:32:03 +0000 Received: from sea.source.kernel.org ([2600:3c0a:e001:78e:0:1991:8:25]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1vq7Vn-00000000VQ4-2F45; Wed, 11 Feb 2026 10:32:00 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sea.source.kernel.org (Postfix) with ESMTP id 80DAE43D75; Wed, 11 Feb 2026 10:31:58 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id D364AC19421; Wed, 11 Feb 2026 10:31:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1770805918; bh=BzPjss/o79E8vniYif3vhWCcMbpnh+bfpm0PwJifv0s=; h=From:To:Cc:Subject:Date:From; b=PV/jXKpFwT8Fev+iuIdzwDQGCp1d9tQZwQOxpL0LXiHzOkF4CIyDk3VR8KHKDtHPW 95broCDwDG6FDa0dsrh08bvjDtJvEVi+8U3bdfQGt0/3GFehuGtNXEfr5rcfZqIyHe 4Gas0OFpDJ0b6cdfz9zvpAFeNg4A3xRSvqWBEmxAoCac9/v12nM5/tozP4vCWoIt3t WM1Df8XDDZbZ4yrkjS35IzQoTegVuVT5cx/AIkgGipbvq47QF+8iCUbZqSYaNcR9kd /L0GUWtHeBli4O4MUGnMTsxwsezchH/soEQNYXQrx3YIGnwJ/R226FAA4/HIBChyBn bpfII91wxqjeA== From: Mike Rapoport To: Andrew Morton Cc: Andreas Larsson , Borislav Petkov , Brian Cain , Catalin Marinas , "Christophe Leroy (CS GROUP)" , "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 , Mike Rapoport , 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 Subject: [PATCH v3 0/4] arch, mm: consolidate empty_zero_page Date: Wed, 11 Feb 2026 12:31:37 +0200 Message-ID: <20260211103141.3215197-1-rppt@kernel.org> X-Mailer: git-send-email 2.51.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20260211_023159_621507_705EC5AF X-CRM114-Status: GOOD ( 13.78 ) X-BeenThere: linux-um@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-um" Errors-To: linux-um-bounces+linux-um=archiver.kernel.org@lists.infradead.org From: "Mike Rapoport (Microsoft)" Hi, These patches cleanup handling of ZERO_PAGE() and zero_pfn. v3 changes: * move zero_page_pfn extern declaration back inside the helpers * add tags, thanks all! v2: https://lore.kernel.org/all/20260209144058.2092871-1-rppt@kernel.org * add patches that cleanup zero_pfn code a bit (patches 1,2) * add a patch that caches struct page for empty_zero_page (patch 4) * use uint8_t instead of unsigned long for empty_zero_page * fix sparc64 changes in patch 3 v1: https://lore.kernel.org/all/20260124095628.668870-1-rppt@kernel.org Mike Rapoport (Microsoft) (4): mm: don't special case !MMU for is_zero_pfn() and my_zero_pfn() mm: rename my_zero_pfn() to zero_pfn() arch, mm: consolidate empty_zero_page mm: cache struct page for empty_zero_page and return it from ZERO_PAGE() 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 | 7 ---- arch/arm64/mm/init.c | 5 +++ 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/mips/mm/init.c | 11 +----- 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 -- arch/riscv/include/asm/pgtable.h | 7 ---- arch/riscv/mm/init.c | 4 -- arch/s390/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 | 24 +++++------- 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/x86/kvm/mmu/spte.h | 2 +- arch/xtensa/include/asm/pgtable.h | 4 -- arch/xtensa/kernel/head.S | 3 -- arch/xtensa/kernel/xtensa_ksyms.c | 2 - fs/dax.c | 2 +- fs/proc/vmcore.c | 2 +- include/linux/pgtable.h | 48 ++++++++++++++--------- mm/huge_memory.c | 2 +- mm/memory.c | 15 +------ mm/migrate.c | 2 +- mm/mm_init.c | 28 +++++++++++++ mm/userfaultfd.c | 4 +- 70 files changed, 86 insertions(+), 354 deletions(-) base-commit: 50c7f34c5c7403a12003c6759f6f6ca9a5a10872 -- 2.51.0 *** BLURB HERE *** Mike Rapoport (Microsoft) (4): mm: don't special case !MMU for is_zero_pfn() and my_zero_pfn() mm: rename my_zero_pfn() to zero_pfn() arch, mm: consolidate empty_zero_page mm: cache struct page for empty_zero_page and return it from ZERO_PAGE() 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 | 7 ---- arch/arm64/mm/init.c | 5 +++ 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/mips/mm/init.c | 11 +---- 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 -- arch/riscv/include/asm/pgtable.h | 7 ---- arch/riscv/mm/init.c | 4 -- arch/s390/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 | 24 ++++------- 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/x86/kvm/mmu/spte.h | 2 +- arch/xtensa/include/asm/pgtable.h | 4 -- arch/xtensa/kernel/head.S | 3 -- arch/xtensa/kernel/xtensa_ksyms.c | 2 - fs/dax.c | 2 +- fs/proc/vmcore.c | 2 +- include/linux/pgtable.h | 51 +++++++++++++++-------- mm/huge_memory.c | 2 +- mm/memory.c | 15 +------ mm/migrate.c | 2 +- mm/mm_init.c | 28 +++++++++++++ mm/userfaultfd.c | 4 +- 70 files changed, 89 insertions(+), 354 deletions(-) base-commit: 50c7f34c5c7403a12003c6759f6f6ca9a5a10872 -- 2.51.0