summaryrefslogtreecommitdiff
path: root/vm/vm_resident.c
diff options
context:
space:
mode:
Diffstat (limited to 'vm/vm_resident.c')
-rw-r--r--vm/vm_resident.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/vm/vm_resident.c b/vm/vm_resident.c
index 817e4e8c..fba2c0d9 100644
--- a/vm/vm_resident.c
+++ b/vm/vm_resident.c
@@ -325,6 +325,9 @@ void vm_page_insert(
{
vm_page_bucket_t *bucket;
+ assert(vm_page_locked_queues());
+ assert(vm_object_lock_taken(object));
+
VM_PAGE_CHECK(mem);
assert(!mem->active && !mem->inactive);
@@ -403,6 +406,9 @@ void vm_page_replace(
{
vm_page_bucket_t *bucket;
+ assert(vm_page_locked_queues());
+ assert(vm_object_lock_taken(object));
+
VM_PAGE_CHECK(mem);
assert(!mem->active && !mem->inactive);
@@ -502,6 +508,10 @@ void vm_page_remove(
vm_page_t this;
assert(mem->tabled);
+
+ assert(vm_page_locked_queues());
+ assert(vm_object_lock_taken(mem->object));
+
VM_PAGE_CHECK(mem);
/*
@@ -564,6 +574,8 @@ vm_page_t vm_page_lookup(
vm_page_t mem;
vm_page_bucket_t *bucket;
+ assert(vm_object_lock_taken(object));
+
/*
* Search the hash table for this object/offset pair
*/
@@ -598,6 +610,8 @@ void vm_page_rename(
* the pageout daemon uses that lock to get the object.
*/
+ assert(vm_object_lock_taken(new_object));
+
vm_page_lock_queues();
vm_page_remove(mem);
vm_page_insert(mem, new_object, new_offset);
@@ -742,6 +756,7 @@ boolean_t vm_page_convert(struct vm_page **mp)
return FALSE;
object = fict_m->object;
+ assert(vm_object_lock_taken(object));
offset = fict_m->offset;
vm_page_lock_queues();
vm_page_remove(fict_m);
@@ -947,6 +962,8 @@ vm_page_t vm_page_alloc(
{
vm_page_t mem;
+ assert(vm_object_lock_taken(object));
+
mem = vm_page_grab(VM_PAGE_HIGHMEM);
if (mem == VM_PAGE_NULL)
return VM_PAGE_NULL;
@@ -976,6 +993,9 @@ void vm_page_free(
vm_page_remove(mem);
}
+ assert(vm_page_locked_queues());
+ assert(vm_object_lock_taken(mem->object));
+
assert(!mem->active && !mem->inactive);
if (mem->wire_count != 0) {