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 0A792E81BD1 for ; Mon, 9 Feb 2026 14:41:18 +0000 (UTC) Received: from boromir.ozlabs.org (localhost [127.0.0.1]) by lists.ozlabs.org (Postfix) with ESMTP id 4f8nSY42k1z30Lw; Tue, 10 Feb 2026 01:41:17 +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=1770648077; cv=none; b=dvtkZhxNQfHEDGT/9niqJHapusDSCyTHFhzAc8lwTUJ+RNn/r3Oz/39YCzrmqeBiyNYrXcl/en+yBlDxrXXxlPyp/VNP+7BGQ2kUF2KJ5Ttehe7aQxB7C1xbkoEFT7xgLhiGnUPATw7sKQafs9WScvq91X54a0dNCCgJcYhnYEcYJ9sehWAGza86uZdwCbnZZnCTMRyeY+aBGOzp0MjcLNzM1ckTjs4y6NhVsjjp67OPP0c2Sx6L97I1rBRCp35ofCWKn7sSM4zjvFT8mfWH3hSI8TrOiL9n6EPkVJD62AbONY7JRqdW+YYAsi7ZzsfmtE+BB038x0HXG7oYG373UA== ARC-Message-Signature: i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707; t=1770648077; c=relaxed/relaxed; bh=KaemXTxQHMv9bpHkXsnfD0HaSN9qgB8hHzbd7NEhoKk=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=MlJppapAN163Y3JxzFHPSWpfu9c85Vh6Ic77UBPjC7okjuWXSDr/j4Wly36+wN2yKjqjDRHcCtKBjUon7KSeVQ0uU7G+RbAVX4D68vlbTtI1d/3l/scGZzE+ebwA4vVkSHlanHTR9qVQQ/hs7Uu2ymB1yGdDDQqKvb/SHFePA/KrdbnbIxGeeL98N4yhnW5X+39vnGlwgsjWGZ5hT3auDdKc9RaHCiRT3NQQf6TrgbgcJpSHzO9cRzk4tB3XVZpcV7o/zTlRDF0q2eSRByzOAvxr7uAcxaF+u23tspLnJNoajnGcv40vlA9hK4bR24526MjC3xD+W+ueoM48BN950w== 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=lNIMGaab; dkim-atps=neutral; spf=pass (client-ip=2600:3c0a:e001:78e:0:1991:8:25; helo=sea.source.kernel.org; envelope-from=rppt@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=lNIMGaab; 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=rppt@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 4f8nSX4y9cz30Lv for ; Tue, 10 Feb 2026 01:41:16 +1100 (AEDT) Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sea.source.kernel.org (Postfix) with ESMTP id 75B9543BD8; Mon, 9 Feb 2026 14:41:14 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 803B4C19422; Mon, 9 Feb 2026 14:41:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1770648074; bh=B2mkA4JyLV5P+26Kji7kOaADSMAhZAUHx96+BlD9dVA=; h=From:To:Cc:Subject:Date:From; b=lNIMGaabE0qBHyKmiQQ82ePHeKOk12FZcvy7uIhl99+FK8xY+dvBmwJnHq448tgU5 yWCM6YFfxDvwT1wI5+Rt+hhXZLLV4D0u0LeJHpDec1IByx2uLPHCfHaX3Y6XpJ+rsw JJVxqM5D44XNcn4x0x+Kh3J6eZihZBMhmxySUsLGosdfZbLuXcXqIysNK+I7TUQbg9 O8HeuEegeOHjXjoPICHlHeBzr1Z+8ulczKwGXjAXkwEVNlDEDH7KqeCc5+hLTfRZaH Codl9ykicppLg+KhR0t3MGY3QhvKdyqCU/tVEiccSKm1jaUu/OhlXAz7EKTzkg5T6F 18AZs0Gxi+VGg== 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 v2 0/4] arch, mm: consolidate empty_zero_page Date: Mon, 9 Feb 2026 16:40:53 +0200 Message-ID: <20260209144058.2092871-1-rppt@kernel.org> X-Mailer: git-send-email 2.51.0 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 Content-Transfer-Encoding: 8bit From: "Mike Rapoport (Microsoft)" Hi, These patches cleanup handling of ZERO_PAGE() and zero_pfn. v2 changes: * 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