uvn 161 uvm/uvm_vnode.c struct uvm_vnode *uvn = &vp->v_uvm;
uvn 175 uvm/uvm_vnode.c simple_lock(&uvn->u_obj.vmobjlock);
uvn 176 uvm/uvm_vnode.c while (uvn->u_flags & UVM_VNODE_BLOCKED) {
uvn 178 uvm/uvm_vnode.c uvn, uvn->u_flags);
uvn 179 uvm/uvm_vnode.c uvn->u_flags |= UVM_VNODE_WANTED;
uvn 181 uvm/uvm_vnode.c UVM_UNLOCK_AND_WAIT(uvn, &uvn->u_obj.vmobjlock, FALSE,
uvn 183 uvm/uvm_vnode.c simple_lock(&uvn->u_obj.vmobjlock);
uvn 191 uvm/uvm_vnode.c simple_unlock(&uvn->u_obj.vmobjlock); /* drop lock */
uvn 202 uvm/uvm_vnode.c if (uvn->u_flags & UVM_VNODE_VALID) { /* already active? */
uvn 205 uvm/uvm_vnode.c if (uvn->u_obj.uo_refs == 0) {
uvn 210 uvm/uvm_vnode.c uvn->u_obj.uo_refs++; /* bump uvn ref! */
uvn 214 uvm/uvm_vnode.c (uvn->u_flags & UVM_VNODE_WRITEABLE) == 0) {
uvn 215 uvm/uvm_vnode.c LIST_INSERT_HEAD(&uvn_wlist, uvn, u_wlist);
uvn 217 uvm/uvm_vnode.c uvn->u_flags |= UVM_VNODE_WRITEABLE;
uvn 221 uvm/uvm_vnode.c simple_unlock(&uvn->u_obj.vmobjlock);
uvn 222 uvm/uvm_vnode.c UVMHIST_LOG(maphist,"<- done, refcnt=%ld", uvn->u_obj.uo_refs,
uvn 224 uvm/uvm_vnode.c return (&uvn->u_obj);
uvn 235 uvm/uvm_vnode.c uvn->u_flags = UVM_VNODE_ALOCK;
uvn 236 uvm/uvm_vnode.c simple_unlock(&uvn->u_obj.vmobjlock); /* drop lock in case we sleep */
uvn 262 uvm/uvm_vnode.c simple_lock(&uvn->u_obj.vmobjlock);
uvn 265 uvm/uvm_vnode.c if (uvn->u_flags & UVM_VNODE_WANTED)
uvn 266 uvm/uvm_vnode.c wakeup(uvn);
uvn 267 uvm/uvm_vnode.c uvn->u_flags = 0;
uvn 268 uvm/uvm_vnode.c simple_unlock(&uvn->u_obj.vmobjlock); /* drop lock */
uvn 285 uvm/uvm_vnode.c uvn->u_obj.pgops = &uvm_vnodeops;
uvn 286 uvm/uvm_vnode.c TAILQ_INIT(&uvn->u_obj.memq);
uvn 287 uvm/uvm_vnode.c uvn->u_obj.uo_npages = 0;
uvn 288 uvm/uvm_vnode.c uvn->u_obj.uo_refs = 1; /* just us... */
uvn 289 uvm/uvm_vnode.c oldflags = uvn->u_flags;
uvn 290 uvm/uvm_vnode.c uvn->u_flags = UVM_VNODE_VALID|UVM_VNODE_CANPERSIST;
uvn 291 uvm/uvm_vnode.c uvn->u_nio = 0;
uvn 292 uvm/uvm_vnode.c uvn->u_size = used_vnode_size;
uvn 296 uvm/uvm_vnode.c LIST_INSERT_HEAD(&uvn_wlist, uvn, u_wlist);
uvn 297 uvm/uvm_vnode.c uvn->u_flags |= UVM_VNODE_WRITEABLE; /* we are on wlist! */
uvn 306 uvm/uvm_vnode.c simple_unlock(&uvn->u_obj.vmobjlock);
uvn 308 uvm/uvm_vnode.c wakeup(uvn);
uvn 310 uvm/uvm_vnode.c UVMHIST_LOG(maphist,"<- done/VREF, ret %p", &uvn->u_obj,0,0,0);
uvn 311 uvm/uvm_vnode.c return(&uvn->u_obj);
uvn 332 uvm/uvm_vnode.c struct uvm_vnode *uvn = (struct uvm_vnode *) uobj;
uvn 338 uvm/uvm_vnode.c if ((uvn->u_flags & UVM_VNODE_VALID) == 0) {
uvn 339 uvm/uvm_vnode.c printf("uvn_reference: ref=%d, flags=0x%x\n", uvn->u_flags,
uvn 363 uvm/uvm_vnode.c struct uvm_vnode *uvn;
uvn 382 uvm/uvm_vnode.c uvn = (struct uvm_vnode *) uobj;
uvn 396 uvm/uvm_vnode.c if (uvn->u_flags & UVM_VNODE_CANPERSIST) {
uvn 411 uvm/uvm_vnode.c uvn->u_flags |= UVM_VNODE_DYING;
uvn 448 uvm/uvm_vnode.c uvn->u_flags |= UVM_VNODE_RELKILL;
uvn 459 uvm/uvm_vnode.c if (uvn->u_flags & UVM_VNODE_WRITEABLE) {
uvn 460 uvm/uvm_vnode.c LIST_REMOVE(uvn, u_wlist);
uvn 467 uvm/uvm_vnode.c oldflags = uvn->u_flags;
uvn 468 uvm/uvm_vnode.c uvn->u_flags = 0;
uvn 473 uvm/uvm_vnode.c wakeup(uvn);
uvn 516 uvm/uvm_vnode.c struct uvm_vnode *uvn = &vp->v_uvm;
uvn 523 uvm/uvm_vnode.c simple_lock(&uvn->u_obj.vmobjlock);
uvn 525 uvm/uvm_vnode.c uvn->u_obj.uo_refs, uvn->u_flags, 0);
uvn 526 uvm/uvm_vnode.c if ((uvn->u_flags & UVM_VNODE_VALID) == 0) {
uvn 527 uvm/uvm_vnode.c simple_unlock(&uvn->u_obj.vmobjlock);
uvn 543 uvm/uvm_vnode.c if (uvn->u_obj.uo_refs) {
uvn 545 uvm/uvm_vnode.c "(refs=%d)\n", uvn, uvn->u_obj.uo_refs);
uvn 558 uvm/uvm_vnode.c if (uvn->u_flags & UVM_VNODE_RELKILL)
uvn 559 uvm/uvm_vnode.c uvn->u_flags &= ~UVM_VNODE_RELKILL; /* cancel RELKILL */
uvn 574 uvm/uvm_vnode.c uvn->u_flags |= UVM_VNODE_DYING|UVM_VNODE_VNISLOCKED;
uvn 576 uvm/uvm_vnode.c (void) uvn_flush(&uvn->u_obj, 0, 0, PGO_CLEANIT|PGO_FREE|PGO_ALLPAGES);
uvn 583 uvm/uvm_vnode.c while (uvn->u_obj.uo_npages) {
uvn 586 uvm/uvm_vnode.c TAILQ_FOREACH(pp, &uvn->u_obj.memq, listq) {
uvn 590 uvm/uvm_vnode.c if (uvn->u_nio == 0)
uvn 598 uvm/uvm_vnode.c uvn->u_flags |= UVM_VNODE_IOSYNC;
uvn 599 uvm/uvm_vnode.c UVM_UNLOCK_AND_WAIT(&uvn->u_nio, &uvn->u_obj.vmobjlock, FALSE,
uvn 601 uvm/uvm_vnode.c simple_lock(&uvn->u_obj.vmobjlock);
uvn 611 uvm/uvm_vnode.c oldflags = uvn->u_flags;
uvn 612 uvm/uvm_vnode.c if (uvn->u_obj.uo_refs) {
uvn 619 uvm/uvm_vnode.c uvn->u_flags &= ~(UVM_VNODE_DYING|UVM_VNODE_VNISLOCKED|
uvn 628 uvm/uvm_vnode.c if (uvn->u_flags & UVM_VNODE_IOSYNCWANTED)
uvn 631 uvm/uvm_vnode.c if (uvn->u_flags & UVM_VNODE_WRITEABLE) {
uvn 632 uvm/uvm_vnode.c LIST_REMOVE(uvn, u_wlist);
uvn 634 uvm/uvm_vnode.c uvn->u_flags = 0; /* uvn is history, clear all bits */
uvn 638 uvm/uvm_vnode.c wakeup(uvn); /* object lock still held */
uvn 640 uvm/uvm_vnode.c simple_unlock(&uvn->u_obj.vmobjlock);
uvn 667 uvm/uvm_vnode.c struct uvm_vnode *uvn = (struct uvm_vnode *) pg->uobject;
uvn 687 uvm/uvm_vnode.c if (uvn->u_flags & UVM_VNODE_RELKILL) {
uvn 688 uvm/uvm_vnode.c if (uvn->u_obj.uo_refs)
uvn 691 uvm/uvm_vnode.c if (uvn->u_obj.uo_npages == 0) {
uvn 692 uvm/uvm_vnode.c if (uvn->u_flags & UVM_VNODE_WRITEABLE) {
uvn 693 uvm/uvm_vnode.c LIST_REMOVE(uvn, u_wlist);
uvn 696 uvm/uvm_vnode.c if (!TAILQ_EMPTY(&uvn->u_obj.memq))
uvn 699 uvm/uvm_vnode.c if (uvn->u_flags & UVM_VNODE_WANTED)
uvn 701 uvm/uvm_vnode.c wakeup(uvn);
uvn 703 uvm/uvm_vnode.c uvn->u_flags = 0; /* DEAD! */
uvn 704 uvm/uvm_vnode.c simple_unlock(&uvn->u_obj.vmobjlock);
uvn 810 uvm/uvm_vnode.c struct uvm_vnode *uvn = (struct uvm_vnode *) uobj;
uvn 833 uvm/uvm_vnode.c if (stop > round_page(uvn->u_size))
uvn 1212 uvm/uvm_vnode.c while (uvn->u_nio != 0) {
uvn 1213 uvm/uvm_vnode.c uvn->u_flags |= UVM_VNODE_IOSYNC;
uvn 1214 uvm/uvm_vnode.c UVM_UNLOCK_AND_WAIT(&uvn->u_nio, &uvn->u_obj.vmobjlock,
uvn 1216 uvm/uvm_vnode.c simple_lock(&uvn->u_obj.vmobjlock);
uvn 1218 uvm/uvm_vnode.c if (uvn->u_flags & UVM_VNODE_IOSYNCWANTED)
uvn 1219 uvm/uvm_vnode.c wakeup(&uvn->u_flags);
uvn 1220 uvm/uvm_vnode.c uvn->u_flags &= ~(UVM_VNODE_IOSYNC|UVM_VNODE_IOSYNCWANTED);
uvn 1244 uvm/uvm_vnode.c struct uvm_vnode *uvn = (struct uvm_vnode *) uobj;
uvn 1247 uvm/uvm_vnode.c if (*loffset >= uvn->u_size)
uvn 1254 uvm/uvm_vnode.c if (*hoffset > round_page(uvn->u_size)) /* past end? */
uvn 1255 uvm/uvm_vnode.c *hoffset = round_page(uvn->u_size);
uvn 1550 uvm/uvm_vnode.c uvn_io(uvn, pps, npages, flags, rw)
uvn 1551 uvm/uvm_vnode.c struct uvm_vnode *uvn;
uvn 1571 uvm/uvm_vnode.c vn = (struct vnode *) uvn;
uvn 1578 uvm/uvm_vnode.c while (uvn->u_flags & UVM_VNODE_IOSYNC) {
uvn 1580 uvm/uvm_vnode.c simple_unlock(&uvn->u_obj.vmobjlock);
uvn 1584 uvm/uvm_vnode.c uvn->u_flags |= UVM_VNODE_IOSYNCWANTED;
uvn 1585 uvm/uvm_vnode.c UVM_UNLOCK_AND_WAIT(&uvn->u_flags, &uvn->u_obj.vmobjlock,
uvn 1587 uvm/uvm_vnode.c simple_lock(&uvn->u_obj.vmobjlock);
uvn 1594 uvm/uvm_vnode.c if (file_offset >= uvn->u_size) {
uvn 1595 uvm/uvm_vnode.c simple_unlock(&uvn->u_obj.vmobjlock);
uvn 1609 uvm/uvm_vnode.c simple_unlock(&uvn->u_obj.vmobjlock);
uvn 1620 uvm/uvm_vnode.c uvn->u_nio++; /* we have an I/O in progress! */
uvn 1621 uvm/uvm_vnode.c simple_unlock(&uvn->u_obj.vmobjlock);
uvn 1639 uvm/uvm_vnode.c if (file_offset + wanted > uvn->u_size)
uvn 1640 uvm/uvm_vnode.c wanted = uvn->u_size - file_offset; /* XXX: needed? */
uvn 1666 uvm/uvm_vnode.c if ((uvn->u_flags & UVM_VNODE_VNISLOCKED) == 0)
uvn 1677 uvm/uvm_vnode.c if ((uvn->u_flags & UVM_VNODE_VNISLOCKED) == 0)
uvn 1711 uvm/uvm_vnode.c simple_lock(&uvn->u_obj.vmobjlock);
uvn 1714 uvm/uvm_vnode.c uvn->u_nio--; /* I/O DONE! */
uvn 1715 uvm/uvm_vnode.c if ((uvn->u_flags & UVM_VNODE_IOSYNC) != 0 && uvn->u_nio == 0) {
uvn 1716 uvm/uvm_vnode.c wakeup(&uvn->u_nio);
uvn 1718 uvm/uvm_vnode.c simple_unlock(&uvn->u_obj.vmobjlock);
uvn 1772 uvm/uvm_vnode.c struct uvm_vnode *uvn = &vp->v_uvm;
uvn 1778 uvm/uvm_vnode.c simple_lock(&uvn->u_obj.vmobjlock);
uvn 1779 uvm/uvm_vnode.c if ((uvn->u_flags & UVM_VNODE_VALID) == 0 ||
uvn 1780 uvm/uvm_vnode.c (uvn->u_flags & UVM_VNODE_BLOCKED) != 0) {
uvn 1781 uvm/uvm_vnode.c simple_unlock(&uvn->u_obj.vmobjlock);
uvn 1790 uvm/uvm_vnode.c uvn->u_flags &= ~UVM_VNODE_CANPERSIST;
uvn 1791 uvm/uvm_vnode.c if (uvn->u_obj.uo_refs) {
uvn 1792 uvm/uvm_vnode.c simple_unlock(&uvn->u_obj.vmobjlock);
uvn 1802 uvm/uvm_vnode.c uvn->u_obj.uo_refs++; /* value is now 1 */
uvn 1803 uvm/uvm_vnode.c simple_unlock(&uvn->u_obj.vmobjlock);
uvn 1847 uvm/uvm_vnode.c uvn_detach(&uvn->u_obj);
uvn 1880 uvm/uvm_vnode.c struct uvm_vnode *uvn = &vp->v_uvm;
uvn 1885 uvm/uvm_vnode.c simple_lock(&uvn->u_obj.vmobjlock);
uvn 1886 uvm/uvm_vnode.c if (uvn->u_flags & UVM_VNODE_VALID) {
uvn 1893 uvm/uvm_vnode.c if (uvn->u_size > newsize) {
uvn 1894 uvm/uvm_vnode.c (void)uvn_flush(&uvn->u_obj, newsize,
uvn 1895 uvm/uvm_vnode.c uvn->u_size, PGO_FREE);
uvn 1897 uvm/uvm_vnode.c uvn->u_size = newsize;
uvn 1899 uvm/uvm_vnode.c simple_unlock(&uvn->u_obj.vmobjlock);
uvn 1922 uvm/uvm_vnode.c struct uvm_vnode *uvn;
uvn 1937 uvm/uvm_vnode.c LIST_FOREACH(uvn, &uvn_wlist, u_wlist) {
uvn 1939 uvm/uvm_vnode.c vp = (struct vnode *) uvn;
uvn 1944 uvm/uvm_vnode.c while ((got_lock = simple_lock_try(&uvn->u_obj.vmobjlock)) ==
uvn 1946 uvm/uvm_vnode.c (uvn->u_flags & UVM_VNODE_BLOCKED) == 0)
uvn 1963 uvm/uvm_vnode.c if (!got_lock || (uvn->u_flags & UVM_VNODE_BLOCKED) != 0) {
uvn 1965 uvm/uvm_vnode.c simple_unlock(&uvn->u_obj.vmobjlock);
uvn 1973 uvm/uvm_vnode.c if (uvn->u_obj.uo_refs == 0)
uvn 1975 uvm/uvm_vnode.c uvn->u_obj.uo_refs++;
uvn 1976 uvm/uvm_vnode.c simple_unlock(&uvn->u_obj.vmobjlock);
uvn 1981 uvm/uvm_vnode.c SIMPLEQ_INSERT_HEAD(&uvn_sync_q, uvn, u_syncq);
uvn 1989 uvm/uvm_vnode.c SIMPLEQ_FOREACH(uvn, &uvn_sync_q, u_syncq) {
uvn 1990 uvm/uvm_vnode.c simple_lock(&uvn->u_obj.vmobjlock);
uvn 1992 uvm/uvm_vnode.c if (uvn->u_flags & UVM_VNODE_DYING) {
uvn 1996 uvm/uvm_vnode.c uvn_flush(&uvn->u_obj, 0, 0,
uvn 2005 uvm/uvm_vnode.c if (uvn->u_obj.uo_refs == 1 &&
uvn 2006 uvm/uvm_vnode.c (uvn->u_flags & UVM_VNODE_WRITEABLE)) {
uvn 2007 uvm/uvm_vnode.c LIST_REMOVE(uvn, u_wlist);
uvn 2008 uvm/uvm_vnode.c uvn->u_flags &= ~UVM_VNODE_WRITEABLE;
uvn 2011 uvm/uvm_vnode.c simple_unlock(&uvn->u_obj.vmobjlock);
uvn 2014 uvm/uvm_vnode.c uvn_detach(&uvn->u_obj);