Lines Matching full:object
62 * Virtual memory object module definitions.
81 * vm_object_t Virtual memory object.
86 * (o) per-object lock
103 vm_pindex_t size; /* Object size */
114 blockcount_t busy; /* (a) object is busy, disallow page busy. */
116 struct vm_object *backing_object; /* object that I'm a shadow of */
117 vm_ooffset_t backing_object_offset;/* Offset in backing object */
193 #define OBJ_PG_DTOR 0x00000080 /* do not reset object, leave that
195 #define OBJ_SHADOWLIST 0x00000100 /* Object is on the shadow list. */
196 #define OBJ_SWAP 0x00000200 /* object swaps, type will be OBJT_SWAP
198 #define OBJ_SPLIT 0x00000400 /* object is being split */
236 extern struct mtx vm_object_list_mtx; /* lock for object list and count */
244 #define VM_OBJECT_ASSERT_LOCKED(object) \ argument
245 rw_assert(&(object)->lock, RA_LOCKED)
246 #define VM_OBJECT_ASSERT_RLOCKED(object) \ argument
247 rw_assert(&(object)->lock, RA_RLOCKED)
248 #define VM_OBJECT_ASSERT_WLOCKED(object) \ argument
249 rw_assert(&(object)->lock, RA_WLOCKED)
250 #define VM_OBJECT_ASSERT_UNLOCKED(object) \ argument
251 rw_assert(&(object)->lock, RA_UNLOCKED)
252 #define VM_OBJECT_LOCK_DOWNGRADE(object) \ argument
253 rw_downgrade(&(object)->lock)
254 #define VM_OBJECT_RLOCK(object) \ argument
255 rw_rlock(&(object)->lock)
256 #define VM_OBJECT_RUNLOCK(object) \ argument
257 rw_runlock(&(object)->lock)
258 #define VM_OBJECT_SLEEP(object, wchan, pri, wmesg, timo) \ argument
259 rw_sleep((wchan), &(object)->lock, (pri), (wmesg), (timo))
260 #define VM_OBJECT_TRYRLOCK(object) \ argument
261 rw_try_rlock(&(object)->lock)
262 #define VM_OBJECT_TRYWLOCK(object) \ argument
263 rw_try_wlock(&(object)->lock)
264 #define VM_OBJECT_TRYUPGRADE(object) \ argument
265 rw_try_upgrade(&(object)->lock)
266 #define VM_OBJECT_WLOCK(object) \ argument
267 rw_wlock(&(object)->lock)
268 #define VM_OBJECT_WOWNED(object) \ argument
269 rw_wowned(&(object)->lock)
270 #define VM_OBJECT_WUNLOCK(object) \ argument
271 rw_wunlock(&(object)->lock)
272 #define VM_OBJECT_UNLOCK(object) \ argument
273 rw_unlock(&(object)->lock)
274 #define VM_OBJECT_DROP(object) \ argument
275 lock_class_rw.lc_unlock(&(object)->lock.lock_object)
276 #define VM_OBJECT_PICKUP(object, state) \ argument
277 lock_class_rw.lc_lock(&(object)->lock.lock_object, (state))
279 #define VM_OBJECT_ASSERT_PAGING(object) \ argument
280 KASSERT(blockcount_read(&(object)->paging_in_progress) != 0, \
281 ("vm_object %p is not paging", object))
282 #define VM_OBJECT_ASSERT_REFERENCE(object) \ argument
283 KASSERT((object)->reference_count != 0, \
284 ("vm_object %p is not referenced", object))
289 * The object must be locked or thread private.
292 vm_object_set_flag(vm_object_t object, u_int bits) in vm_object_set_flag() argument
295 object->flags |= bits; in vm_object_set_flag()
299 * Conditionally set the object's color, which (1) enables the allocation
302 * within the object at which a reservation may be allocated. In other
303 * words, the color determines the alignment of the object with respect
310 * The object must be locked.
313 vm_object_color(vm_object_t object, u_short color) in vm_object_color() argument
316 if ((object->flags & OBJ_COLORED) == 0) { in vm_object_color()
317 object->pg_color = color; in vm_object_color()
318 vm_object_set_flag(object, OBJ_COLORED); in vm_object_color()
323 vm_object_reserv(vm_object_t object) in vm_object_reserv() argument
326 if (object != NULL && in vm_object_reserv()
327 (object->flags & (OBJ_COLORED | OBJ_FICTITIOUS)) == OBJ_COLORED) { in vm_object_reserv()
333 void vm_object_clear_flag(vm_object_t object, u_short bits);
334 void vm_object_pip_add(vm_object_t object, short i);
335 void vm_object_pip_wakeup(vm_object_t object);
336 void vm_object_pip_wakeupn(vm_object_t object, short i);
337 void vm_object_pip_wait(vm_object_t object, const char *waitid);
338 void vm_object_pip_wait_unlocked(vm_object_t object, const char *waitid);
340 void vm_object_busy(vm_object_t object);
341 void vm_object_unbusy(vm_object_t object);
342 void vm_object_busy_wait(vm_object_t object, const char *wmesg);
345 vm_object_busied(vm_object_t object) in vm_object_busied() argument
348 return (blockcount_read(&object->busy) != 0); in vm_object_busied()
350 #define VM_OBJECT_ASSERT_BUSY(object) MPASS(vm_object_busied((object))) argument
352 void umtx_shm_object_init(vm_object_t object);
353 void umtx_shm_object_terminated(vm_object_t object);
367 void vm_object_set_writeable_dirty_(vm_object_t object);
368 bool vm_object_mightbedirty(vm_object_t object);
369 bool vm_object_mightbedirty_(vm_object_t object);
371 int vm_object_kvme_type(vm_object_t object, struct vnode **vpp);
373 boolean_t vm_object_page_clean(vm_object_t object, vm_ooffset_t start,
375 void vm_object_page_noreuse(vm_object_t object, vm_pindex_t start,
377 void vm_object_page_remove(vm_object_t object, vm_pindex_t start,
383 int vm_object_set_memattr(vm_object_t object, vm_memattr_t memattr);
389 void vm_object_unwire(vm_object_t object, vm_ooffset_t offset,
391 struct vnode *vm_object_vnode(vm_object_t object);