diff options
author | Alan Cox <alc@FreeBSD.org> | 2007-02-18 05:54:42 +0000 |
---|---|---|
committer | Alan Cox <alc@FreeBSD.org> | 2007-02-18 05:54:42 +0000 |
commit | 711585d087347328077e646ab596535568d5a14e (patch) | |
tree | 173211f941a4768b93b517757e836e844ddd7859 /sys/vm/vm_page.c | |
parent | 497057eeead9fac92696b02719662ec0d43ef78c (diff) | |
download | src-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.c | 6 |
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); } |