linux/arch
Mike Rapoport (Microsoft) 26513781d1 mm: cache struct page for empty_zero_page and return it from ZERO_PAGE()
For most architectures every invocation of ZERO_PAGE() does
virt_to_page(empty_zero_page).  But empty_zero_page is in BSS and it is
enough to get its struct page once at initialization time and then use it
whenever a zero page should be accessed.

Add yet another __zero_page variable that will be initialized as
virt_to_page(empty_zero_page) for most architectures in a weak
arch_setup_zero_pages() function.

For architectures that use colored zero pages (MIPS and s390) rename their
setup_zero_pages() to arch_setup_zero_pages() and make it global rather
than static.

For architectures that cannot use virt_to_page() for BSS (arm64 and
sparc64) add override of arch_setup_zero_pages().

Link: https://lkml.kernel.org/r/20260211103141.3215197-5-rppt@kernel.org
Signed-off-by: Mike Rapoport (Microsoft) <rppt@kernel.org>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Acked-by: David Hildenbrand (Arm) <david@kernel.org>
Acked-by: Liam R. Howlett <Liam.Howlett@oracle.com>
Cc: Andreas Larsson <andreas@gaisler.com>
Cc: "Borislav Petkov (AMD)" <bp@alien8.de>
Cc: Christophe Leroy (CS GROUP) <chleroy@kernel.org>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: David S. Miller <davem@davemloft.net>
Cc: Dinh Nguyen <dinguyen@kernel.org>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Guo Ren <guoren@kernel.org>
Cc: Helge Deller <deller@gmx.de>
Cc: Huacai Chen <chenhuacai@kernel.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Johannes Berg <johannes@sipsolutions.net>
Cc: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Cc: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
Cc: Madhavan Srinivasan <maddy@linux.ibm.com>
Cc: Magnus Lindholm <linmag7@gmail.com>
Cc: Matt Turner <mattst88@gmail.com>
Cc: Max Filippov <jcmvbkbc@gmail.com>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Michal Simek <monstr@monstr.eu>
Cc: Palmer Dabbelt <palmer@dabbelt.com>
Cc: Richard Weinberger <richard@nod.at>
Cc: Russell King <linux@armlinux.org.uk>
Cc: Stafford Horne <shorne@gmail.com>
Cc: Suren Baghdasaryan <surenb@google.com>
Cc: Vineet Gupta <vgupta@kernel.org>
Cc: Vlastimil Babka <vbabka@suse.cz>
Cc: Will Deacon <will@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2026-04-05 13:53:01 -07:00
..
alpha arch, mm: consolidate empty_zero_page 2026-04-05 13:53:01 -07:00
arc arch, mm: consolidate empty_zero_page 2026-04-05 13:53:01 -07:00
arm arch, mm: consolidate empty_zero_page 2026-04-05 13:53:01 -07:00
arm64 mm: cache struct page for empty_zero_page and return it from ZERO_PAGE() 2026-04-05 13:53:01 -07:00
csky arch, mm: consolidate empty_zero_page 2026-04-05 13:53:01 -07:00
hexagon arch, mm: consolidate empty_zero_page 2026-04-05 13:53:01 -07:00
loongarch arch, mm: consolidate empty_zero_page 2026-04-05 13:53:01 -07:00
m68k arch, mm: consolidate empty_zero_page 2026-04-05 13:53:01 -07:00
microblaze arch, mm: consolidate empty_zero_page 2026-04-05 13:53:01 -07:00
mips mm: cache struct page for empty_zero_page and return it from ZERO_PAGE() 2026-04-05 13:53:01 -07:00
nios2 arch, mm: consolidate empty_zero_page 2026-04-05 13:53:01 -07:00
openrisc arch, mm: consolidate empty_zero_page 2026-04-05 13:53:01 -07:00
parisc arch, mm: consolidate empty_zero_page 2026-04-05 13:53:01 -07:00
powerpc arch, mm: consolidate empty_zero_page 2026-04-05 13:53:01 -07:00
riscv arch, mm: consolidate empty_zero_page 2026-04-05 13:53:01 -07:00
s390 mm: cache struct page for empty_zero_page and return it from ZERO_PAGE() 2026-04-05 13:53:01 -07:00
sh arch, mm: consolidate empty_zero_page 2026-04-05 13:53:01 -07:00
sparc mm: cache struct page for empty_zero_page and return it from ZERO_PAGE() 2026-04-05 13:53:01 -07:00
um arch, mm: consolidate empty_zero_page 2026-04-05 13:53:01 -07:00
x86 arch, mm: consolidate empty_zero_page 2026-04-05 13:53:01 -07:00
xtensa arch, mm: consolidate empty_zero_page 2026-04-05 13:53:01 -07:00
.gitignore
Kconfig sched: Move clock related paravirt code to kernel/sched 2026-01-12 15:39:14 +01:00