diff options
Diffstat (limited to 'vm/vm_page.c')
-rw-r--r-- | vm/vm_page.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/vm/vm_page.c b/vm/vm_page.c index 44573b10..4fde0759 100644 --- a/vm/vm_page.c +++ b/vm/vm_page.c @@ -755,6 +755,7 @@ vm_page_seg_free(struct vm_page_seg *seg, struct vm_page *page, static void vm_page_seg_add_active_page(struct vm_page_seg *seg, struct vm_page *page) { + assert(simple_lock_taken(&seg->lock)); assert(page->object != NULL); assert(page->seg_index == vm_page_seg_index(seg)); assert(page->type != VM_PT_FREE); @@ -770,6 +771,7 @@ vm_page_seg_add_active_page(struct vm_page_seg *seg, struct vm_page *page) static void vm_page_seg_remove_active_page(struct vm_page_seg *seg, struct vm_page *page) { + assert(simple_lock_taken(&seg->lock)); assert(page->object != NULL); assert(page->seg_index == vm_page_seg_index(seg)); assert(page->type != VM_PT_FREE); @@ -784,6 +786,7 @@ vm_page_seg_remove_active_page(struct vm_page_seg *seg, struct vm_page *page) static void vm_page_seg_add_inactive_page(struct vm_page_seg *seg, struct vm_page *page) { + assert(simple_lock_taken(&seg->lock)); assert(page->object != NULL); assert(page->seg_index == vm_page_seg_index(seg)); assert(page->type != VM_PT_FREE); @@ -798,6 +801,7 @@ vm_page_seg_add_inactive_page(struct vm_page_seg *seg, struct vm_page *page) static void vm_page_seg_remove_inactive_page(struct vm_page_seg *seg, struct vm_page *page) { + assert(simple_lock_taken(&seg->lock)); assert(page->object != NULL); assert(page->seg_index == vm_page_seg_index(seg)); assert(page->type != VM_PT_FREE); @@ -1726,6 +1730,9 @@ vm_page_mem_free(void) void vm_page_wire(struct vm_page *page) { + assert(vm_page_locked_queues()); + assert(vm_object_lock_taken(page->object)); + VM_PAGE_CHECK(page); if (page->wire_count == 0) { @@ -1749,6 +1756,9 @@ vm_page_unwire(struct vm_page *page) { struct vm_page_seg *seg; + assert(vm_page_locked_queues()); + assert(vm_object_lock_taken(page->object)); + VM_PAGE_CHECK(page); assert(page->wire_count != 0); @@ -1781,6 +1791,8 @@ vm_page_deactivate(struct vm_page *page) { struct vm_page_seg *seg; + assert(vm_page_locked_queues()); + VM_PAGE_CHECK(page); /* @@ -1820,6 +1832,8 @@ vm_page_activate(struct vm_page *page) { struct vm_page_seg *seg; + assert(vm_page_locked_queues()); + VM_PAGE_CHECK(page); /* @@ -1845,6 +1859,8 @@ vm_page_queues_remove(struct vm_page *page) { struct vm_page_seg *seg; + assert(vm_page_locked_queues()); + assert(!page->active || !page->inactive); if (!page->active && !page->inactive) { |