summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authoralc <alc@FreeBSD.org>2010-05-02 23:33:10 +0000
committeralc <alc@FreeBSD.org>2010-05-02 23:33:10 +0000
commitfbe19e5e155fcfd93567ff0a4105982000d15d0e (patch)
treec990f7eb35b2cdae5136ff29d508ab23c876baf4 /sys
parent5bdbfdef5238d07cbc7c88c8cd59830932c96624 (diff)
downloadFreeBSD-src-fbe19e5e155fcfd93567ff0a4105982000d15d0e.zip
FreeBSD-src-fbe19e5e155fcfd93567ff0a4105982000d15d0e.tar.gz
Add page lock assertions where we access the page's hold_count.
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 e73586a..59f8226 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 ||
OpenPOWER on IntegriCloud