Lines Matching refs:object
105 static int vm_object_page_collect_flush(vm_object_t object, vm_page_t p,
110 static void vm_object_qcollapse(vm_object_t object);
111 static void vm_object_vndeallocate(vm_object_t object);
145 static SYSCTL_NODE(_vm_stats, OID_AUTO, object, CTLFLAG_RD, 0,
166 vm_object_t object; in vm_object_zdtor() local
168 object = (vm_object_t)mem; in vm_object_zdtor()
169 KASSERT(object->ref_count == 0, in vm_object_zdtor()
170 ("object %p ref_count = %d", object, object->ref_count)); in vm_object_zdtor()
171 KASSERT(TAILQ_EMPTY(&object->memq), in vm_object_zdtor()
172 ("object %p has resident pages in its memq", object)); in vm_object_zdtor()
173 KASSERT(vm_radix_is_empty(&object->rtree), in vm_object_zdtor()
174 ("object %p has resident pages in its trie", object)); in vm_object_zdtor()
176 KASSERT(LIST_EMPTY(&object->rvq), in vm_object_zdtor()
178 object)); in vm_object_zdtor()
180 KASSERT(vm_object_cache_is_empty(object), in vm_object_zdtor()
182 object)); in vm_object_zdtor()
183 KASSERT(object->paging_in_progress == 0, in vm_object_zdtor()
185 object, object->paging_in_progress)); in vm_object_zdtor()
186 KASSERT(object->resident_page_count == 0, in vm_object_zdtor()
188 object, object->resident_page_count)); in vm_object_zdtor()
189 KASSERT(object->shadow_count == 0, in vm_object_zdtor()
191 object, object->shadow_count)); in vm_object_zdtor()
192 KASSERT(object->type == OBJT_DEAD, in vm_object_zdtor()
194 object, object->type)); in vm_object_zdtor()
201 vm_object_t object; in vm_object_zinit() local
203 object = (vm_object_t)mem; in vm_object_zinit()
204 bzero(&object->lock, sizeof(object->lock)); in vm_object_zinit()
205 rw_init_flags(&object->lock, "vm object", RW_DUPOK); in vm_object_zinit()
208 object->type = OBJT_DEAD; in vm_object_zinit()
209 object->ref_count = 0; in vm_object_zinit()
210 object->rtree.rt_root = 0; in vm_object_zinit()
211 object->rtree.rt_flags = 0; in vm_object_zinit()
212 object->paging_in_progress = 0; in vm_object_zinit()
213 object->resident_page_count = 0; in vm_object_zinit()
214 object->shadow_count = 0; in vm_object_zinit()
215 object->cache.rt_root = 0; in vm_object_zinit()
216 object->cache.rt_flags = 0; in vm_object_zinit()
219 TAILQ_INSERT_TAIL(&vm_object_list, object, object_list); in vm_object_zinit()
225 _vm_object_allocate(objtype_t type, vm_pindex_t size, vm_object_t object) in _vm_object_allocate() argument
228 TAILQ_INIT(&object->memq); in _vm_object_allocate()
229 LIST_INIT(&object->shadow_head); in _vm_object_allocate()
231 object->type = type; in _vm_object_allocate()
237 object->flags = OBJ_ONEMAPPING; in _vm_object_allocate()
241 object->flags = OBJ_FICTITIOUS | OBJ_UNMANAGED; in _vm_object_allocate()
244 object->flags = OBJ_FICTITIOUS; in _vm_object_allocate()
247 object->flags = OBJ_UNMANAGED; in _vm_object_allocate()
250 object->flags = 0; in _vm_object_allocate()
255 object->size = size; in _vm_object_allocate()
256 object->generation = 1; in _vm_object_allocate()
257 object->ref_count = 1; in _vm_object_allocate()
258 object->memattr = VM_MEMATTR_DEFAULT; in _vm_object_allocate()
259 object->cred = NULL; in _vm_object_allocate()
260 object->charge = 0; in _vm_object_allocate()
261 object->handle = NULL; in _vm_object_allocate()
262 object->backing_object = NULL; in _vm_object_allocate()
263 object->backing_object_offset = (vm_ooffset_t) 0; in _vm_object_allocate()
265 LIST_INIT(&object->rvq); in _vm_object_allocate()
313 vm_object_clear_flag(vm_object_t object, u_short bits) in vm_object_clear_flag() argument
316 VM_OBJECT_ASSERT_WLOCKED(object); in vm_object_clear_flag()
317 object->flags &= ~bits; in vm_object_clear_flag()
330 vm_object_set_memattr(vm_object_t object, vm_memattr_t memattr) in vm_object_set_memattr() argument
333 VM_OBJECT_ASSERT_WLOCKED(object); in vm_object_set_memattr()
334 switch (object->type) { in vm_object_set_memattr()
342 if (!TAILQ_EMPTY(&object->memq)) in vm_object_set_memattr()
349 object); in vm_object_set_memattr()
351 object->memattr = memattr; in vm_object_set_memattr()
356 vm_object_pip_add(vm_object_t object, short i) in vm_object_pip_add() argument
359 VM_OBJECT_ASSERT_WLOCKED(object); in vm_object_pip_add()
360 object->paging_in_progress += i; in vm_object_pip_add()
364 vm_object_pip_subtract(vm_object_t object, short i) in vm_object_pip_subtract() argument
367 VM_OBJECT_ASSERT_WLOCKED(object); in vm_object_pip_subtract()
368 object->paging_in_progress -= i; in vm_object_pip_subtract()
372 vm_object_pip_wakeup(vm_object_t object) in vm_object_pip_wakeup() argument
375 VM_OBJECT_ASSERT_WLOCKED(object); in vm_object_pip_wakeup()
376 object->paging_in_progress--; in vm_object_pip_wakeup()
377 if ((object->flags & OBJ_PIPWNT) && object->paging_in_progress == 0) { in vm_object_pip_wakeup()
378 vm_object_clear_flag(object, OBJ_PIPWNT); in vm_object_pip_wakeup()
379 wakeup(object); in vm_object_pip_wakeup()
384 vm_object_pip_wakeupn(vm_object_t object, short i) in vm_object_pip_wakeupn() argument
387 VM_OBJECT_ASSERT_WLOCKED(object); in vm_object_pip_wakeupn()
389 object->paging_in_progress -= i; in vm_object_pip_wakeupn()
390 if ((object->flags & OBJ_PIPWNT) && object->paging_in_progress == 0) { in vm_object_pip_wakeupn()
391 vm_object_clear_flag(object, OBJ_PIPWNT); in vm_object_pip_wakeupn()
392 wakeup(object); in vm_object_pip_wakeupn()
397 vm_object_pip_wait(vm_object_t object, char *waitid) in vm_object_pip_wait() argument
400 VM_OBJECT_ASSERT_WLOCKED(object); in vm_object_pip_wait()
401 while (object->paging_in_progress) { in vm_object_pip_wait()
402 object->flags |= OBJ_PIPWNT; in vm_object_pip_wait()
403 VM_OBJECT_SLEEP(object, object, PVM, waitid, 0); in vm_object_pip_wait()
415 vm_object_t object; in vm_object_allocate() local
417 object = (vm_object_t)uma_zalloc(obj_zone, M_WAITOK); in vm_object_allocate()
418 _vm_object_allocate(type, size, object); in vm_object_allocate()
419 return (object); in vm_object_allocate()
430 vm_object_reference(vm_object_t object) in vm_object_reference() argument
432 if (object == NULL) in vm_object_reference()
434 VM_OBJECT_WLOCK(object); in vm_object_reference()
435 vm_object_reference_locked(object); in vm_object_reference()
436 VM_OBJECT_WUNLOCK(object); in vm_object_reference()
447 vm_object_reference_locked(vm_object_t object) in vm_object_reference_locked() argument
451 VM_OBJECT_ASSERT_WLOCKED(object); in vm_object_reference_locked()
452 object->ref_count++; in vm_object_reference_locked()
453 if (object->type == OBJT_VNODE) { in vm_object_reference_locked()
454 vp = object->handle; in vm_object_reference_locked()
463 vm_object_vndeallocate(vm_object_t object) in vm_object_vndeallocate() argument
465 struct vnode *vp = (struct vnode *) object->handle; in vm_object_vndeallocate()
467 VM_OBJECT_ASSERT_WLOCKED(object); in vm_object_vndeallocate()
468 KASSERT(object->type == OBJT_VNODE, in vm_object_vndeallocate()
472 if (object->ref_count == 0) { in vm_object_vndeallocate()
483 if (object->ref_count > 1 || (vp->v_vflag & VV_TEXT) == 0) { in vm_object_vndeallocate()
484 object->ref_count--; in vm_object_vndeallocate()
485 VM_OBJECT_WUNLOCK(object); in vm_object_vndeallocate()
490 VM_OBJECT_WUNLOCK(object); in vm_object_vndeallocate()
493 VM_OBJECT_WLOCK(object); in vm_object_vndeallocate()
494 object->ref_count--; in vm_object_vndeallocate()
495 if (object->type == OBJT_DEAD) { in vm_object_vndeallocate()
496 VM_OBJECT_WUNLOCK(object); in vm_object_vndeallocate()
499 if (object->ref_count == 0) in vm_object_vndeallocate()
501 VM_OBJECT_WUNLOCK(object); in vm_object_vndeallocate()
519 vm_object_deallocate(vm_object_t object) in vm_object_deallocate() argument
524 while (object != NULL) { in vm_object_deallocate()
525 VM_OBJECT_WLOCK(object); in vm_object_deallocate()
526 if (object->type == OBJT_VNODE) { in vm_object_deallocate()
527 vm_object_vndeallocate(object); in vm_object_deallocate()
531 KASSERT(object->ref_count != 0, in vm_object_deallocate()
532 ("vm_object_deallocate: object deallocated too many times: %d", object->type)); in vm_object_deallocate()
540 object->ref_count--; in vm_object_deallocate()
541 if (object->ref_count > 1) { in vm_object_deallocate()
542 VM_OBJECT_WUNLOCK(object); in vm_object_deallocate()
544 } else if (object->ref_count == 1) { in vm_object_deallocate()
545 if (object->type == OBJT_SWAP && in vm_object_deallocate()
546 (object->flags & OBJ_TMPFS) != 0) { in vm_object_deallocate()
547 vp = object->un_pager.swp.swp_tmpfs; in vm_object_deallocate()
549 VM_OBJECT_WUNLOCK(object); in vm_object_deallocate()
551 VM_OBJECT_WLOCK(object); in vm_object_deallocate()
552 if (object->type == OBJT_DEAD || in vm_object_deallocate()
553 object->ref_count != 1) { in vm_object_deallocate()
554 VM_OBJECT_WUNLOCK(object); in vm_object_deallocate()
559 if ((object->flags & OBJ_TMPFS) != 0) in vm_object_deallocate()
564 if (object->shadow_count == 0 && in vm_object_deallocate()
565 object->handle == NULL && in vm_object_deallocate()
566 (object->type == OBJT_DEFAULT || in vm_object_deallocate()
567 (object->type == OBJT_SWAP && in vm_object_deallocate()
568 (object->flags & OBJ_TMPFS_NODE) == 0))) { in vm_object_deallocate()
569 vm_object_set_flag(object, OBJ_ONEMAPPING); in vm_object_deallocate()
570 } else if ((object->shadow_count == 1) && in vm_object_deallocate()
571 (object->handle == NULL) && in vm_object_deallocate()
572 (object->type == OBJT_DEFAULT || in vm_object_deallocate()
573 object->type == OBJT_SWAP)) { in vm_object_deallocate()
576 robject = LIST_FIRST(&object->shadow_head); in vm_object_deallocate()
579 object->ref_count, in vm_object_deallocate()
580 object->shadow_count)); in vm_object_deallocate()
582 ("shadowed tmpfs v_object %p", object)); in vm_object_deallocate()
587 object->ref_count++; in vm_object_deallocate()
588 VM_OBJECT_WUNLOCK(object); in vm_object_deallocate()
612 VM_OBJECT_WUNLOCK(object); in vm_object_deallocate()
616 if (object == temp) { in vm_object_deallocate()
617 VM_OBJECT_WLOCK(object); in vm_object_deallocate()
620 } else if (object->paging_in_progress) { in vm_object_deallocate()
622 object->flags |= OBJ_PIPWNT; in vm_object_deallocate()
623 VM_OBJECT_SLEEP(object, object, in vm_object_deallocate()
627 if (object == temp) { in vm_object_deallocate()
628 VM_OBJECT_WLOCK(object); in vm_object_deallocate()
632 VM_OBJECT_WUNLOCK(object); in vm_object_deallocate()
636 object = robject; in vm_object_deallocate()
639 object = robject; in vm_object_deallocate()
640 vm_object_collapse(object); in vm_object_deallocate()
641 VM_OBJECT_WUNLOCK(object); in vm_object_deallocate()
646 VM_OBJECT_WUNLOCK(object); in vm_object_deallocate()
650 temp = object->backing_object; in vm_object_deallocate()
652 KASSERT((object->flags & OBJ_TMPFS_NODE) == 0, in vm_object_deallocate()
653 ("shadowed tmpfs v_object 2 %p", object)); in vm_object_deallocate()
655 LIST_REMOVE(object, shadow_list); in vm_object_deallocate()
658 object->backing_object = NULL; in vm_object_deallocate()
665 if ((object->flags & OBJ_DEAD) == 0) in vm_object_deallocate()
666 vm_object_terminate(object); in vm_object_deallocate()
668 VM_OBJECT_WUNLOCK(object); in vm_object_deallocate()
669 object = temp; in vm_object_deallocate()
678 vm_object_destroy(vm_object_t object) in vm_object_destroy() argument
684 if (object->cred != NULL) { in vm_object_destroy()
685 swap_release_by_cred(object->charge, object->cred); in vm_object_destroy()
686 object->charge = 0; in vm_object_destroy()
687 crfree(object->cred); in vm_object_destroy()
688 object->cred = NULL; in vm_object_destroy()
694 uma_zfree(obj_zone, object); in vm_object_destroy()
705 vm_object_terminate(vm_object_t object) in vm_object_terminate() argument
709 VM_OBJECT_ASSERT_WLOCKED(object); in vm_object_terminate()
714 vm_object_set_flag(object, OBJ_DEAD); in vm_object_terminate()
719 vm_object_pip_wait(object, "objtrm"); in vm_object_terminate()
721 KASSERT(!object->paging_in_progress, in vm_object_terminate()
728 if (object->type == OBJT_VNODE) { in vm_object_terminate()
729 struct vnode *vp = (struct vnode *)object->handle; in vm_object_terminate()
734 vm_object_page_clean(object, 0, 0, OBJPC_SYNC); in vm_object_terminate()
735 VM_OBJECT_WUNLOCK(object); in vm_object_terminate()
739 VM_OBJECT_WLOCK(object); in vm_object_terminate()
742 KASSERT(object->ref_count == 0, in vm_object_terminate()
744 object->ref_count)); in vm_object_terminate()
752 TAILQ_FOREACH_SAFE(p, &object->memq, listq, p_next) { in vm_object_terminate()
762 p->object = NULL; in vm_object_terminate()
774 if (object->resident_page_count != 0) { in vm_object_terminate()
775 vm_radix_reclaim_allnodes(&object->rtree); in vm_object_terminate()
776 TAILQ_INIT(&object->memq); in vm_object_terminate()
777 object->resident_page_count = 0; in vm_object_terminate()
778 if (object->type == OBJT_VNODE) in vm_object_terminate()
779 vdrop(object->handle); in vm_object_terminate()
783 if (__predict_false(!LIST_EMPTY(&object->rvq))) in vm_object_terminate()
784 vm_reserv_break_all(object); in vm_object_terminate()
786 if (__predict_false(!vm_object_cache_is_empty(object))) in vm_object_terminate()
787 vm_page_cache_free(object, 0, 0); in vm_object_terminate()
789 KASSERT(object->cred == NULL || object->type == OBJT_DEFAULT || in vm_object_terminate()
790 object->type == OBJT_SWAP, in vm_object_terminate()
791 ("%s: non-swap obj %p has cred", __func__, object)); in vm_object_terminate()
796 vm_pager_deallocate(object); in vm_object_terminate()
797 VM_OBJECT_WUNLOCK(object); in vm_object_terminate()
799 vm_object_destroy(object); in vm_object_terminate()
845 vm_object_page_clean(vm_object_t object, vm_ooffset_t start, vm_ooffset_t end, in vm_object_page_clean() argument
853 VM_OBJECT_ASSERT_WLOCKED(object); in vm_object_page_clean()
860 if ((object->flags & OBJ_MIGHTBEDIRTY) == 0 || in vm_object_page_clean()
861 object->resident_page_count == 0) in vm_object_page_clean()
869 tend = (end == 0) ? object->size : OFF_TO_IDX(end + PAGE_MASK); in vm_object_page_clean()
870 clearobjflags = tstart == 0 && tend >= object->size; in vm_object_page_clean()
874 curgeneration = object->generation; in vm_object_page_clean()
876 for (p = vm_page_find_least(object, tstart); p != NULL; p = np) { in vm_object_page_clean()
884 if (object->generation != curgeneration) { in vm_object_page_clean()
890 np = vm_page_find_least(object, pi); in vm_object_page_clean()
896 n = vm_object_page_collect_flush(object, p, pagerflags, in vm_object_page_clean()
902 if (object->generation != curgeneration) { in vm_object_page_clean()
925 np = vm_page_find_least(object, pi + n); in vm_object_page_clean()
932 vm_object_clear_flag(object, OBJ_MIGHTBEDIRTY); in vm_object_page_clean()
937 vm_object_page_collect_flush(vm_object_t object, vm_page_t p, int pagerflags, in vm_object_page_collect_flush() argument
944 VM_OBJECT_ASSERT_WLOCKED(object); in vm_object_page_collect_flush()
989 vm_object_sync(vm_object_t object, vm_ooffset_t offset, vm_size_t size, in vm_object_sync() argument
998 if (object == NULL) in vm_object_sync()
1002 VM_OBJECT_WLOCK(object); in vm_object_sync()
1003 while ((backing_object = object->backing_object) != NULL) { in vm_object_sync()
1005 offset += object->backing_object_offset; in vm_object_sync()
1006 VM_OBJECT_WUNLOCK(object); in vm_object_sync()
1007 object = backing_object; in vm_object_sync()
1008 if (object->size < OFF_TO_IDX(offset + size)) in vm_object_sync()
1009 size = IDX_TO_OFF(object->size) - offset; in vm_object_sync()
1023 if (object->type == OBJT_VNODE && in vm_object_sync()
1024 (object->flags & OBJ_MIGHTBEDIRTY) != 0) { in vm_object_sync()
1025 vp = object->handle; in vm_object_sync()
1026 VM_OBJECT_WUNLOCK(object); in vm_object_sync()
1030 OFF_TO_IDX(size) == object->size) { in vm_object_sync()
1044 VM_OBJECT_WLOCK(object); in vm_object_sync()
1045 res = vm_object_page_clean(object, offset, offset + size, in vm_object_sync()
1047 VM_OBJECT_WUNLOCK(object); in vm_object_sync()
1054 VM_OBJECT_WLOCK(object); in vm_object_sync()
1056 if ((object->type == OBJT_VNODE || in vm_object_sync()
1057 object->type == OBJT_DEVICE) && invalidate) { in vm_object_sync()
1058 if (object->type == OBJT_DEVICE) in vm_object_sync()
1069 vm_object_page_remove(object, OFF_TO_IDX(offset), in vm_object_sync()
1072 VM_OBJECT_WUNLOCK(object); in vm_object_sync()
1098 vm_object_madvise(vm_object_t object, vm_pindex_t pindex, vm_pindex_t end, in vm_object_madvise() argument
1105 if (object == NULL) in vm_object_madvise()
1107 VM_OBJECT_WLOCK(object); in vm_object_madvise()
1113 tobject = object; in vm_object_madvise()
1150 if (tobject != object) in vm_object_madvise()
1177 if (object != tobject) in vm_object_madvise()
1178 VM_OBJECT_WUNLOCK(object); in vm_object_madvise()
1181 VM_OBJECT_WLOCK(object); in vm_object_madvise()
1193 if (tobject != object) in vm_object_madvise()
1196 VM_OBJECT_WUNLOCK(object); in vm_object_madvise()
1211 vm_object_t *object, /* IN/OUT */ in vm_object_shadow() argument
1218 source = *object; in vm_object_shadow()
1273 *object = result; in vm_object_shadow()
1291 orig_object = entry->object.vm_object; in vm_object_split()
1416 entry->object.vm_object = new_object; in vm_object_split()
1427 vm_object_backing_scan(vm_object_t object, int op) in vm_object_backing_scan() argument
1434 VM_OBJECT_ASSERT_WLOCKED(object); in vm_object_backing_scan()
1435 VM_OBJECT_ASSERT_WLOCKED(object->backing_object); in vm_object_backing_scan()
1437 backing_object = object->backing_object; in vm_object_backing_scan()
1438 backing_offset_index = OFF_TO_IDX(object->backing_object_offset); in vm_object_backing_scan()
1482 new_pindex >= object->size in vm_object_backing_scan()
1498 pp = vm_page_lookup(object, new_pindex); in vm_object_backing_scan()
1501 !vm_pager_has_page(object, new_pindex, NULL, NULL) in vm_object_backing_scan()
1521 VM_OBJECT_WUNLOCK(object); in vm_object_backing_scan()
1525 VM_OBJECT_WLOCK(object); in vm_object_backing_scan()
1540 p->object == backing_object, in vm_object_backing_scan()
1546 new_pindex >= object->size in vm_object_backing_scan()
1568 pp = vm_page_lookup(object, new_pindex); in vm_object_backing_scan()
1593 vm_pager_has_page(object, new_pindex, NULL, NULL) in vm_object_backing_scan()
1626 if (vm_page_rename(p, object, new_pindex)) { in vm_object_backing_scan()
1632 VM_OBJECT_WUNLOCK(object); in vm_object_backing_scan()
1634 VM_OBJECT_WLOCK(object); in vm_object_backing_scan()
1649 vm_reserv_rename(p, object, backing_object, in vm_object_backing_scan()
1665 vm_object_qcollapse(vm_object_t object) in vm_object_qcollapse() argument
1667 vm_object_t backing_object = object->backing_object; in vm_object_qcollapse()
1669 VM_OBJECT_ASSERT_WLOCKED(object); in vm_object_qcollapse()
1675 vm_object_backing_scan(object, OBSC_COLLAPSE_NOWAIT); in vm_object_qcollapse()
1686 vm_object_collapse(vm_object_t object) in vm_object_collapse() argument
1688 VM_OBJECT_ASSERT_WLOCKED(object); in vm_object_collapse()
1698 if ((backing_object = object->backing_object) == NULL) in vm_object_collapse()
1710 object->handle != NULL || in vm_object_collapse()
1711 (object->type != OBJT_DEFAULT && in vm_object_collapse()
1712 object->type != OBJT_SWAP) || in vm_object_collapse()
1713 (object->flags & OBJ_DEAD)) { in vm_object_collapse()
1719 object->paging_in_progress != 0 || in vm_object_collapse()
1722 vm_object_qcollapse(object); in vm_object_collapse()
1741 vm_object_backing_scan(object, OBSC_COLLAPSE_WAIT); in vm_object_collapse()
1765 object, in vm_object_collapse()
1766 OFF_TO_IDX(object->backing_object_offset), TRUE); in vm_object_collapse()
1781 LIST_REMOVE(object, shadow_list); in vm_object_collapse()
1788 object, shadow_list); in vm_object_collapse()
1794 object->backing_object = backing_object->backing_object; in vm_object_collapse()
1795 object->backing_object_offset += in vm_object_collapse()
1821 if (object->resident_page_count != object->size && in vm_object_collapse()
1822 vm_object_backing_scan(object, in vm_object_collapse()
1833 LIST_REMOVE(object, shadow_list); in vm_object_collapse()
1837 if ((object->backing_object = new_backing_object) != NULL) { in vm_object_collapse()
1841 object, in vm_object_collapse()
1847 object->backing_object_offset += in vm_object_collapse()
1893 vm_object_page_remove(vm_object_t object, vm_pindex_t start, vm_pindex_t end, in vm_object_page_remove() argument
1899 VM_OBJECT_ASSERT_WLOCKED(object); in vm_object_page_remove()
1900 KASSERT((object->flags & OBJ_UNMANAGED) == 0 || in vm_object_page_remove()
1902 ("vm_object_page_remove: illegal options for object %p", object)); in vm_object_page_remove()
1903 if (object->resident_page_count == 0) in vm_object_page_remove()
1905 vm_object_pip_add(object, 1); in vm_object_page_remove()
1907 p = vm_page_find_least(object, start); in vm_object_page_remove()
1926 VM_OBJECT_WUNLOCK(object); in vm_object_page_remove()
1928 VM_OBJECT_WLOCK(object); in vm_object_page_remove()
1947 VM_OBJECT_WUNLOCK(object); in vm_object_page_remove()
1949 VM_OBJECT_WLOCK(object); in vm_object_page_remove()
1977 vm_object_pip_wakeup(object); in vm_object_page_remove()
1979 if (__predict_false(!vm_object_cache_is_empty(object))) in vm_object_page_remove()
1980 vm_page_cache_free(object, start, end); in vm_object_page_remove()
2000 vm_object_page_cache(vm_object_t object, vm_pindex_t start, vm_pindex_t end) in vm_object_page_cache() argument
2005 VM_OBJECT_ASSERT_WLOCKED(object); in vm_object_page_cache()
2006 KASSERT((object->flags & (OBJ_FICTITIOUS | OBJ_UNMANAGED)) == 0, in vm_object_page_cache()
2007 ("vm_object_page_cache: illegal object %p", object)); in vm_object_page_cache()
2008 if (object->resident_page_count == 0) in vm_object_page_cache()
2010 p = vm_page_find_least(object, start); in vm_object_page_cache()
2047 vm_object_populate(vm_object_t object, vm_pindex_t start, vm_pindex_t end) in vm_object_populate() argument
2053 VM_OBJECT_ASSERT_WLOCKED(object); in vm_object_populate()
2055 m = vm_page_grab(object, pindex, VM_ALLOC_NORMAL); in vm_object_populate()
2058 rv = vm_pager_get_pages(object, ma, 1, 0); in vm_object_populate()
2059 m = vm_page_lookup(object, pindex); in vm_object_populate()
2075 m = vm_page_lookup(object, start); in vm_object_populate()
2201 vm_object_set_writeable_dirty(vm_object_t object) in vm_object_set_writeable_dirty() argument
2204 VM_OBJECT_ASSERT_WLOCKED(object); in vm_object_set_writeable_dirty()
2205 if (object->type != OBJT_VNODE) { in vm_object_set_writeable_dirty()
2206 if ((object->flags & OBJ_TMPFS_NODE) != 0) { in vm_object_set_writeable_dirty()
2207 KASSERT(object->type == OBJT_SWAP, ("non-swap tmpfs")); in vm_object_set_writeable_dirty()
2208 vm_object_set_flag(object, OBJ_TMPFS_DIRTY); in vm_object_set_writeable_dirty()
2212 object->generation++; in vm_object_set_writeable_dirty()
2213 if ((object->flags & OBJ_MIGHTBEDIRTY) != 0) in vm_object_set_writeable_dirty()
2215 vm_object_set_flag(object, OBJ_MIGHTBEDIRTY); in vm_object_set_writeable_dirty()
2227 vm_object_unwire(vm_object_t object, vm_ooffset_t offset, vm_size_t length, in vm_object_unwire() argument
2240 if ((object->flags & OBJ_FICTITIOUS) != 0) in vm_object_unwire()
2245 VM_OBJECT_RLOCK(object); in vm_object_unwire()
2246 m = vm_page_find_least(object, pindex); in vm_object_unwire()
2254 tobject = object; in vm_object_unwire()
2284 tobject = object->backing_object; in vm_object_unwire()
2285 VM_OBJECT_RUNLOCK(object); in vm_object_unwire()
2286 object = tobject; in vm_object_unwire()
2299 _vm_object_in_map(vm_map_t map, vm_object_t object, vm_map_entry_t entry) in _vm_object_in_map() argument
2313 if (_vm_object_in_map(map, object, tmpe)) { in _vm_object_in_map()
2319 tmpm = entry->object.sub_map; in _vm_object_in_map()
2323 if (_vm_object_in_map(tmpm, object, tmpe)) { in _vm_object_in_map()
2328 } else if ((obj = entry->object.vm_object) != NULL) { in _vm_object_in_map()
2330 if (obj == object) { in _vm_object_in_map()
2338 vm_object_in_map(vm_object_t object) in vm_object_in_map() argument
2346 if (_vm_object_in_map(&p->p_vmspace->vm_map, object, 0)) { in vm_object_in_map()
2352 if (_vm_object_in_map(kernel_map, object, 0)) in vm_object_in_map()
2359 vm_object_t object; in DB_SHOW_COMMAND() local
2365 TAILQ_FOREACH(object, &vm_object_list, object_list) { in DB_SHOW_COMMAND()
2366 if (object->handle == NULL && in DB_SHOW_COMMAND()
2367 (object->type == OBJT_DEFAULT || object->type == OBJT_SWAP)) { in DB_SHOW_COMMAND()
2368 if (object->ref_count == 0) { in DB_SHOW_COMMAND()
2370 (long)object->size); in DB_SHOW_COMMAND()
2372 if (!vm_object_in_map(object)) { in DB_SHOW_COMMAND()
2376 object->ref_count, (u_long)object->size, in DB_SHOW_COMMAND()
2377 (u_long)object->size, in DB_SHOW_COMMAND()
2378 (void *)object->backing_object); in DB_SHOW_COMMAND()
2387 DB_SHOW_COMMAND(object, vm_object_print_static) in DB_SHOW_COMMAND() argument
2390 vm_object_t object = (vm_object_t)addr; in DB_SHOW_COMMAND() local
2400 if (object == NULL) in DB_SHOW_COMMAND()
2405 object, (int)object->type, (uintmax_t)object->size, in DB_SHOW_COMMAND()
2406 object->resident_page_count, object->ref_count, object->flags, in DB_SHOW_COMMAND()
2407 object->cred ? object->cred->cr_ruid : -1, (uintmax_t)object->charge); in DB_SHOW_COMMAND()
2409 object->shadow_count, in DB_SHOW_COMMAND()
2410 object->backing_object ? object->backing_object->ref_count : 0, in DB_SHOW_COMMAND()
2411 object->backing_object, (uintmax_t)object->backing_object_offset); in DB_SHOW_COMMAND()
2418 TAILQ_FOREACH(p, &object->memq, listq) { in DB_SHOW_COMMAND()
2453 vm_object_t object; in DB_SHOW_COMMAND() local
2460 TAILQ_FOREACH(object, &vm_object_list, object_list) { in DB_SHOW_COMMAND()
2461 db_printf("new object: %p\n", (void *)object); in DB_SHOW_COMMAND()
2472 TAILQ_FOREACH(m, &object->memq, listq) { in DB_SHOW_COMMAND()