HomeFreeBSD

Allow vm_page_free_prep() to dequeue pages without the page lock.

Description

Allow vm_page_free_prep() to dequeue pages without the page lock.

This is a step towards being able to free pages without the page
lock held. The approach is simply to add an implementation of
vm_page_dequeue_deferred() which does not assert that the page
lock is held. Formally, the page lock is required to set
PGA_DEQUEUE, but in the case of vm_page_free_prep() we get the
same mutual exclusion for free by virtue of the fact that no
other references to the page may exist.

No functional change intended.

Reviewed by: kib (previous version)
MFC after: 2 weeks
Sponsored by: Netflix
Differential Revision: https://reviews.freebsd.org/D19065

Details

Provenance
markjAuthored on
Reviewer
kib
Differential Revision
D19065: Allow vm_page_free_prep() to dequeue pages without the page lock.
Parents
rS343719: Fix a race in vm_page_dequeue_deferred().
Branches
Unknown
Tags
Unknown