HomeFreeBSD

Add vm_page_alloc_after().

Description

Add vm_page_alloc_after().

This is a variant of vm_page_alloc() which accepts an additional parameter:
the page in the object with largest index that is smaller than the requested
index. vm_page_alloc() finds this page using a lookup in the object's radix
tree, but in some cases its identity is already known, allowing the lookup
to be elided.

Modify kmem_back() and vm_page_grab_pages() to use vm_page_alloc_after().
vm_page_alloc() is converted into a trivial wrapper of
vm_page_alloc_after().

Suggested by: alc
Reviewed by: alc, kib
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D11984

Details

Provenance
markjAuthored on
Reviewer
alc
Differential Revision
D11984: Add vm_page_alloc_after()
Parents
rS322546: Fix some ZFS debugging messages
Branches
Unknown
Tags
Unknown