diff options
author | alc <alc@FreeBSD.org> | 2007-02-18 05:54:42 +0000 |
---|---|---|
committer | alc <alc@FreeBSD.org> | 2007-02-18 05:54:42 +0000 |
commit | c0ed1b65cf97d4a558e1277b708beebf95b6516d (patch) | |
tree | 173211f941a4768b93b517757e836e844ddd7859 /sys/vm | |
parent | 6a5d54ffd20da2b170bed379fd7faebe76a1a71a (diff) | |
download | FreeBSD-src-c0ed1b65cf97d4a558e1277b708beebf95b6516d.zip FreeBSD-src-c0ed1b65cf97d4a558e1277b708beebf95b6516d.tar.gz |
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.
Diffstat (limited to 'sys/vm')
-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 6b74d90..3badc5b 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); } |