HomeFreeBSD

vm: Introduce vm_page_alloc_nofree_domain

Description

vm: Introduce vm_page_alloc_nofree_domain

This patch adds a reservation-aware bump allocator intended for
allocating NOFREE pages. The main goal of this change is to reduce the
long-term fragmentation issues caused by pages that are never freed during runtime.

The vm_page_alloc_nofree_domain routine hands out 0-order pages from
a preallocated superpage. Once an active NOFREE superpage fills up, the
routine will try to allocate a new one and discard the old one.
This routine will get invoked whenever VM_ALLOC_NOFREE is passed to
vm_page_alloc_noobj or vm_page_alloc.

Differential Revision: https://reviews.freebsd.org/D45863
Reviewed by: alc, kib, markj
Tested by: alc

Details

Provenance
bnovkovAuthored on Jul 14 2024, 1:14 PM
Reviewer
alc
Differential Revision
D45863: vm: Introduce reservation-aware NOFREE page allocation routine
Parents
rG92b9138991dd: vm: Introduce VM_ALLOC_NOFREE and PG_NOFREE
Branches
Unknown
Tags
Unknown