diff options
Diffstat (limited to 'vm/vm_resident.c')
-rw-r--r-- | vm/vm_resident.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/vm/vm_resident.c b/vm/vm_resident.c index 8b10e00..5959989 100644 --- a/vm/vm_resident.c +++ b/vm/vm_resident.c @@ -274,6 +274,7 @@ void vm_page_insert( vm_object_t object, vm_offset_t offset) { + assert(have_vm_object_lock(object)); VM_PAGE_CHECK(mem); if (mem->tabled) @@ -337,6 +338,7 @@ void vm_page_replace( struct vm_page *old; void **slot; + assert(have_vm_object_lock(object)); VM_PAGE_CHECK(mem); if (mem->tabled) @@ -393,6 +395,7 @@ void vm_page_replace( void vm_page_remove( vm_page_t mem) { + assert(have_vm_object_lock(mem->object)); assert(mem->tabled); VM_PAGE_CHECK(mem); @@ -425,6 +428,7 @@ vm_page_t vm_page_lookup( vm_object_t object, vm_offset_t offset) { + assert(have_vm_object_lock(object)); return rdxtree_lookup(&object->memt, offset_key(offset)); } @@ -441,6 +445,8 @@ void vm_page_rename( vm_object_t new_object, vm_offset_t new_offset) { + assert(have_vm_object_lock(new_object)); + /* * Changes to mem->object require the page lock because * the pageout daemon uses that lock to get the object. @@ -534,6 +540,8 @@ boolean_t vm_page_convert( struct vm_page *real_m, *fict_m, *old; void **slot; + assert(have_vm_object_lock((*mp)->object)); + fict_m = *mp; assert(fict_m->fictitious); @@ -731,6 +739,8 @@ vm_page_t vm_page_alloc( { vm_page_t mem; + assert(have_vm_object_lock(object)); + mem = vm_page_grab(!object->internal); if (mem == VM_PAGE_NULL) return VM_PAGE_NULL; @@ -753,6 +763,9 @@ vm_page_t vm_page_alloc( void vm_page_free( vm_page_t mem) { + assert(have_vm_object_lock(mem->object)); + assert(have_vm_page_queue_lock()); + if (mem->tabled) vm_page_remove(mem); VM_PAGE_QUEUES_REMOVE(mem); @@ -793,6 +806,8 @@ void vm_page_free( void vm_page_wire( vm_page_t mem) { + assert(have_vm_object_lock(mem->object)); + assert(have_vm_page_queue_lock()); VM_PAGE_CHECK(mem); if (mem->wire_count == 0) { @@ -814,6 +829,8 @@ void vm_page_wire( void vm_page_unwire( vm_page_t mem) { + assert(have_vm_object_lock(mem->object)); + assert(have_vm_page_queue_lock()); VM_PAGE_CHECK(mem); if (--mem->wire_count == 0) { @@ -837,6 +854,7 @@ void vm_page_unwire( void vm_page_deactivate( vm_page_t m) { + assert(have_vm_page_queue_lock()); VM_PAGE_CHECK(m); /* @@ -871,6 +889,7 @@ void vm_page_deactivate( void vm_page_activate( vm_page_t m) { + assert(have_vm_page_queue_lock()); VM_PAGE_CHECK(m); if (m->inactive) { |