]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Allow vm_page_free_prep() to dequeue pages without the page lock.
authormarkj <markj@FreeBSD.org>
Sun, 3 Feb 2019 18:43:20 +0000 (18:43 +0000)
committermarkj <markj@FreeBSD.org>
Sun, 3 Feb 2019 18:43:20 +0000 (18:43 +0000)
commit93cad7dba503e93b195ce61e84ad95f235087766
tree78aa39b1a6a827bef8c4944304e58c189a99af7c
parentae1284109d5702c126a8c50181851fee30847c76
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
sys/vm/vm_page.c
sys/vm/vm_page.h