HomeFreeBSD

vm_phys: check small blocks to finish allocation

Description

vm_phys: check small blocks to finish allocation

In vm_phys_alloc_queues_contig, in the case that a sequence of
max-order blocks are sought to fulfill an allocation, a sequence is
ruled out if it does not have enough max-order blocks to satisfy the
allocation. However, there may be smaller blocks of free memory that
follow the last max-order block in the sequence, and they may be big
enough to complete the allocation request, so check for that
possibility before giving up on that block sequence.

Reviewed by: markj
Tested by: pho
Differential Revision: https://reviews.freebsd.org/D34724

Details

Provenance
dougmAuthored on Mar 31 2022, 9:19 PM
Reviewer
markj
Differential Revision
D34724: Allow allocation of pages from beyond the last max order block of a range
Parents
rGbafe3b8804ca: linsysfs: plug set-but-not-used vars.
Branches
Unknown
Tags
Unknown