aboutsummaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorAlan Cox <alc@FreeBSD.org>2010-05-02 23:33:10 +0000
committerAlan Cox <alc@FreeBSD.org>2010-05-02 23:33:10 +0000
commitb8d36afcfed7922db31d877a8123e1dfc6a238b0 (patch)
treec990f7eb35b2cdae5136ff29d508ab23c876baf4 /sys
parent5eb6cd026301e64e3a97c1c63459f51010678196 (diff)
downloadsrc-b8d36afcfed7922db31d877a8123e1dfc6a238b0.tar.gz
src-b8d36afcfed7922db31d877a8123e1dfc6a238b0.zip
Add page lock assertions where we access the page's hold_count.
Notes
Notes: svn path=/head/; revision=207544
Diffstat (limited to 'sys')
-rw-r--r--sys/vm/vm_page.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/vm/vm_page.c b/sys/vm/vm_page.c
index e73586a6007c..59f822664137 100644
--- a/sys/vm/vm_page.c
+++ b/sys/vm/vm_page.c
@@ -1657,6 +1657,7 @@ vm_page_try_to_cache(vm_page_t m)
{
mtx_assert(&vm_page_queue_mtx, MA_OWNED);
+ vm_page_lock_assert(m, MA_OWNED);
VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED);
if (m->dirty || m->hold_count || m->busy || m->wire_count ||
(m->oflags & VPO_BUSY) || (m->flags & PG_UNMANAGED)) {
@@ -1680,6 +1681,7 @@ vm_page_try_to_free(vm_page_t m)
{
mtx_assert(&vm_page_queue_mtx, MA_OWNED);
+ vm_page_lock_assert(m, MA_OWNED);
if (m->object != NULL)
VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED);
if (m->dirty || m->hold_count || m->busy || m->wire_count ||
@@ -1707,6 +1709,7 @@ vm_page_cache(vm_page_t m)
vm_page_t root;
mtx_assert(&vm_page_queue_mtx, MA_OWNED);
+ vm_page_lock_assert(m, MA_OWNED);
object = m->object;
VM_OBJECT_LOCK_ASSERT(object, MA_OWNED);
if ((m->flags & PG_UNMANAGED) || (m->oflags & VPO_BUSY) || m->busy ||