Lines Matching refs:uobj
174 uvm_pagealloc_strat(struct uvm_object *uobj, voff_t off, struct vm_anon *anon,
179 KASSERT(uobj && rw_write_held(uobj->vmobjlock));
189 pg->uobject = uobj;
191 if (radix_tree_insert_node(&uobj->uo_pages, off >> PAGE_SHIFT,
197 if (UVM_OBJ_IS_VNODE(uobj)) {
198 if (uobj->uo_npages == 0) {
199 struct vnode *vp = (struct vnode *)uobj;
206 uobj->uo_npages++;
218 if (!UVM_OBJ_IS_AOBJ(uobj)) {
238 struct uvm_object *uobj = pg->uobject;
241 KASSERT(rw_write_held(uobj->vmobjlock));
247 uobj->uo_npages--;
248 pg2 = radix_tree_remove_node(&uobj->uo_pages, pg->offset >> PAGE_SHIFT);
251 if (!UVM_OBJ_IS_AOBJ(uobj)) {
258 if (UVM_OBJ_IS_VNODE(uobj) && uobj->uo_npages == 0) {
259 struct vnode *vp = (struct vnode *)uobj;
671 uvm_pagelookup(struct uvm_object *uobj, voff_t off)
676 pg = radix_tree_lookup_node(&uobj->uo_pages, off >> PAGE_SHIFT);
787 uvm_loanuobjpages(struct uvm_object *uobj, voff_t pgoff, int orignpages,
802 ubc_purge(struct uvm_object *uobj)
824 struct uvm_object *uobj, voff_t uoffset, vsize_t align,
1148 struct uvm_object *uobj;
1150 uobj = pg->uobject;
1151 if (rw_tryenter(uobj->vmobjlock, RW_WRITER)) {
1154 uobj->pgops->pgo_put(uobj, pg->offset,
1157 KASSERT(!rw_write_held(uobj->vmobjlock));
1160 rw_exit(uobj->vmobjlock);
1348 ubc_zerorange(struct uvm_object *uobj, off_t off, size_t len, int flags)
1358 rw_enter(uobj->vmobjlock, RW_WRITER);
1362 (void)uobj->pgops->pgo_get(uobj, trunc_page(off),
1367 rw_enter(uobj->vmobjlock, RW_WRITER);
1378 KASSERT(uobj->vmobjlock == pg->uobject->vmobjlock);
1392 rw_exit(uobj->vmobjlock);
1400 ubc_uiomove(struct uvm_object *uobj, struct uio *uio, vsize_t todo,
1422 rw_enter(uobj->vmobjlock, RW_WRITER);
1426 rv = uobj->pgops->pgo_get(uobj, trunc_page(uio->uio_offset),
1431 rw_enter(uobj->vmobjlock, RW_WRITER);
1442 KASSERT(uobj->vmobjlock == pg->uobject->vmobjlock);
1451 rw_exit(uobj->vmobjlock);
1462 rw_exit(uobj->vmobjlock);