aboutsummaryrefslogtreecommitdiff
path: root/sys/vm/vm_page.c
diff options
context:
space:
mode:
authorAlan Cox <alc@FreeBSD.org>2007-02-18 05:54:42 +0000
committerAlan Cox <alc@FreeBSD.org>2007-02-18 05:54:42 +0000
commit711585d087347328077e646ab596535568d5a14e (patch)
tree173211f941a4768b93b517757e836e844ddd7859 /sys/vm/vm_page.c
parent497057eeead9fac92696b02719662ec0d43ef78c (diff)
downloadsrc-711585d087347328077e646ab596535568d5a14e.tar.gz
src-711585d087347328077e646ab596535568d5a14e.zip
Enable vm_page_free() and vm_page_free_zero() to be called on some pages
without the page queues lock being held, specifically, pages that are not contained in a vm object and not a member of a page queue.
Notes
Notes: svn path=/head/; revision=166808
Diffstat (limited to 'sys/vm/vm_page.c')
-rw-r--r--sys/vm/vm_page.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/vm/vm_page.c b/sys/vm/vm_page.c
index 6b74d9099c6c..3badc5b12c31 100644
--- a/sys/vm/vm_page.c
+++ b/sys/vm/vm_page.c
@@ -479,7 +479,8 @@ vm_page_unhold(vm_page_t mem)
void
vm_page_free(vm_page_t m)
{
- vm_page_flag_clear(m, PG_ZERO);
+
+ m->flags &= ~PG_ZERO;
vm_page_free_toq(m);
}
@@ -491,7 +492,8 @@ vm_page_free(vm_page_t m)
void
vm_page_free_zero(vm_page_t m)
{
- vm_page_flag_set(m, PG_ZERO);
+
+ m->flags |= PG_ZERO;
vm_page_free_toq(m);
}