[PATCH v3 4/4] mm: cache struct page for empty_zero_page and return it from ZERO_PAGE()
David Hildenbrand (Arm)
david at kernel.org
Thu Feb 12 01:08:49 PST 2026
On 2/11/26 11:31, Mike Rapoport wrote:
> From: "Mike Rapoport (Microsoft)" <rppt at kernel.org>
>
> 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().
>
> Acked-by: Catalin Marinas <catalin.marinas at arm.com>
> Signed-off-by: Mike Rapoport (Microsoft) <rppt at kernel.org>
> ---
Acked-by: David Hildenbrand (Arm) <david at kernel.org>
--
Cheers,
David
More information about the linux-riscv
mailing list