anon 558 arch/i386/i386/pmapae.c #define pae_pagealloc(obj, off, anon, flags) \ anon 559 arch/i386/i386/pmapae.c uvm_pagealloc_strat((obj), (off), (anon), (flags), \ anon 108 sys/lkm.h void *anon; anon 518 uvm/uvm_amap.c struct vm_anon *anon; anon 536 uvm/uvm_amap.c anon = amap->am_anon[slot]; anon 538 uvm/uvm_amap.c if (anon == NULL || anon->an_ref == 0) anon 541 uvm/uvm_amap.c simple_lock(&anon->an_lock); /* lock anon */ anon 543 uvm/uvm_amap.c UVMHIST_LOG(maphist," processing anon %p, ref=%ld", anon, anon 544 uvm/uvm_amap.c anon->an_ref, 0, 0); anon 546 uvm/uvm_amap.c refs = --anon->an_ref; anon 547 uvm/uvm_amap.c simple_unlock(&anon->an_lock); anon 552 uvm/uvm_amap.c uvm_anfree(anon); anon 754 uvm/uvm_amap.c struct vm_anon *anon, *nanon; anon 770 uvm/uvm_amap.c anon = amap->am_anon[slot]; anon 771 uvm/uvm_amap.c simple_lock(&anon->an_lock); anon 772 uvm/uvm_amap.c pg = anon->an_page; anon 780 uvm/uvm_amap.c anon); anon 792 uvm/uvm_amap.c if (anon->an_ref > 1 && pg->loan_count == 0) { anon 800 uvm/uvm_amap.c UVM_UNLOCK_AND_WAIT(pg, &anon->an_lock, FALSE, anon 824 uvm/uvm_amap.c simple_unlock(&anon->an_lock); anon 834 uvm/uvm_amap.c anon->an_ref--; /* can't drop to zero */ anon 849 uvm/uvm_amap.c simple_unlock(&anon->an_lock); anon 1005 uvm/uvm_amap.c struct vm_anon *anon; anon 1038 uvm/uvm_amap.c anon = amap->am_anon[curslot]; anon 1056 uvm/uvm_amap.c simple_lock(&anon->an_lock); anon 1057 uvm/uvm_amap.c refs = --anon->an_ref; anon 1058 uvm/uvm_amap.c simple_unlock(&anon->an_lock); anon 1064 uvm/uvm_amap.c uvm_anfree(anon); anon 1107 uvm/uvm_amap.c struct vm_anon *anon; anon 1110 uvm/uvm_amap.c anon = am->am_anon[slot]; anon 1111 uvm/uvm_amap.c simple_lock(&anon->an_lock); anon 1113 uvm/uvm_amap.c swslot = anon->an_swslot; anon 1115 uvm/uvm_amap.c simple_unlock(&anon->an_lock); anon 1121 uvm/uvm_amap.c rv = uvm_anon_pagein(anon); anon 118 uvm/uvm_amap_i.h amap_add(aref, offset, anon, replace) anon 121 uvm/uvm_amap_i.h struct vm_anon *anon; anon 154 uvm/uvm_amap_i.h amap->am_anon[slot] = anon; anon 157 uvm/uvm_amap_i.h amap, offset, anon, replace); anon 69 uvm/uvm_anon.c struct vm_anon *anon; anon 71 uvm/uvm_anon.c anon = pool_get(&uvm_anon_pool, PR_NOWAIT); anon 72 uvm/uvm_anon.c if (anon) { anon 73 uvm/uvm_anon.c simple_lock_init(&anon->an_lock); anon 74 uvm/uvm_anon.c anon->an_ref = 1; anon 75 uvm/uvm_anon.c anon->an_page = NULL; anon 76 uvm/uvm_anon.c anon->an_swslot = 0; anon 77 uvm/uvm_anon.c simple_lock(&anon->an_lock); anon 79 uvm/uvm_anon.c return(anon); anon 91 uvm/uvm_anon.c uvm_anfree(anon) anon 92 uvm/uvm_anon.c struct vm_anon *anon; anon 96 uvm/uvm_anon.c UVMHIST_LOG(maphist,"(anon=%p)", anon, 0,0,0); anon 102 uvm/uvm_anon.c pg = anon->an_page; anon 111 uvm/uvm_anon.c pg = uvm_anon_lockloanpg(anon); anon 148 uvm/uvm_anon.c anon, pg, 0, 0); anon 156 uvm/uvm_anon.c anon, pg, 0, 0); anon 163 uvm/uvm_anon.c uvm_anon_dropswap(anon); anon 169 uvm/uvm_anon.c KASSERT(anon->an_page == NULL); anon 170 uvm/uvm_anon.c KASSERT(anon->an_swslot == 0); anon 172 uvm/uvm_anon.c pool_put(&uvm_anon_pool, anon); anon 182 uvm/uvm_anon.c uvm_anon_dropswap(anon) anon 183 uvm/uvm_anon.c struct vm_anon *anon; anon 187 uvm/uvm_anon.c if (anon->an_swslot == 0) anon 191 uvm/uvm_anon.c anon, anon->an_swslot, 0, 0); anon 192 uvm/uvm_anon.c uvm_swap_free(anon->an_swslot, 1); anon 193 uvm/uvm_anon.c anon->an_swslot = 0; anon 195 uvm/uvm_anon.c if (anon->an_page == NULL) { anon 221 uvm/uvm_anon.c uvm_anon_lockloanpg(anon) anon 222 uvm/uvm_anon.c struct vm_anon *anon; anon 236 uvm/uvm_anon.c while (((pg = anon->an_page) != NULL) && pg->loan_count != 0) { anon 265 uvm/uvm_anon.c simple_unlock(&anon->an_lock); anon 272 uvm/uvm_anon.c simple_lock(&anon->an_lock); anon 306 uvm/uvm_anon.c uvm_anon_pagein(anon) anon 307 uvm/uvm_anon.c struct vm_anon *anon; anon 314 uvm/uvm_anon.c rv = uvmfault_anonget(NULL, NULL, anon); anon 348 uvm/uvm_anon.c pg = anon->an_page; anon 350 uvm/uvm_anon.c uvm_swap_free(anon->an_swslot, 1); anon 351 uvm/uvm_anon.c anon->an_swslot = 0; anon 368 uvm/uvm_anon.c simple_unlock(&anon->an_lock); anon 546 uvm/uvm_extern.h #define uvm_pagealloc(obj, off, anon, flags) \ anon 547 uvm/uvm_extern.h uvm_pagealloc_strat((obj), (off), (anon), (flags), \ anon 295 uvm/uvm_fault.c uvmfault_anonget(ufi, amap, anon) anon 298 uvm/uvm_fault.c struct vm_anon *anon; anon 309 uvm/uvm_fault.c if (anon->an_page) anon 321 uvm/uvm_fault.c pg = anon->an_page; anon 330 uvm/uvm_fault.c pg = uvm_anon_lockloanpg(anon); anon 357 uvm/uvm_fault.c uvmfault_unlockall(ufi, amap, NULL, anon); anon 368 uvm/uvm_fault.c UVM_UNLOCK_AND_WAIT(pg,&anon->an_lock,0, anon 378 uvm/uvm_fault.c pg = uvm_pagealloc(NULL, 0, anon, 0); anon 382 uvm/uvm_fault.c uvmfault_unlockall(ufi, amap, NULL, anon); anon 393 uvm/uvm_fault.c uvmfault_unlockall(ufi, amap, NULL, anon); anon 403 uvm/uvm_fault.c result = uvm_swap_get(pg, anon->an_swslot, anon 420 uvm/uvm_fault.c simple_lock(&anon->an_lock); anon 451 uvm/uvm_fault.c simple_unlock(&anon->an_lock); anon 452 uvm/uvm_fault.c uvm_anfree(anon); /* frees page for us */ anon 465 uvm/uvm_fault.c anon->an_page = NULL; anon 473 uvm/uvm_fault.c uvm_swap_markbad(anon->an_swslot, 1); anon 474 uvm/uvm_fault.c anon->an_swslot = SWSLOT_BAD; anon 487 uvm/uvm_fault.c anon); anon 489 uvm/uvm_fault.c simple_unlock(&anon->an_lock); anon 503 uvm/uvm_fault.c simple_unlock(&anon->an_lock); anon 521 uvm/uvm_fault.c ufi->orig_rvaddr - ufi->entry->start) != anon) { anon 523 uvm/uvm_fault.c uvmfault_unlockall(ufi, amap, NULL, anon); anon 574 uvm/uvm_fault.c struct vm_anon *anons_store[UVM_MAXRANGE], **anons, *anon, *oanon; anon 581 uvm/uvm_fault.c anon = NULL; anon 817 uvm/uvm_fault.c anon = anons[lcv]; anon 818 uvm/uvm_fault.c simple_lock(&anon->an_lock); anon 820 uvm/uvm_fault.c if (anon->an_page && anon->an_page->loan_count == 0 && anon 821 uvm/uvm_fault.c (anon->an_page->pg_flags & (PG_RELEASED|PG_BUSY)) == 0) { anon 823 uvm/uvm_fault.c uvm_pageactivate(anon->an_page); /* reactivate */ anon 827 uvm/uvm_fault.c ufi.orig_map->pmap, currva, anon->an_page, 0); anon 837 uvm/uvm_fault.c VM_PAGE_TO_PHYS(anon->an_page), anon 838 uvm/uvm_fault.c (anon->an_ref > 1) ? (enter_prot & ~VM_PROT_WRITE) : anon 843 uvm/uvm_fault.c simple_unlock(&anon->an_lock); anon 1024 uvm/uvm_fault.c anon = anons[centeridx]; anon 1025 uvm/uvm_fault.c UVMHIST_LOG(maphist, " case 1 fault: anon=%p", anon, 0,0,0); anon 1026 uvm/uvm_fault.c simple_lock(&anon->an_lock); anon 1044 uvm/uvm_fault.c result = uvmfault_anonget(&ufi, amap, anon); anon 1072 uvm/uvm_fault.c uobj = anon->an_page->uobject; /* locked by anonget if !NULL */ anon 1080 uvm/uvm_fault.c if (anon->an_page->loan_count) { anon 1106 uvm/uvm_fault.c if (anon->an_ref == 1) { anon 1112 uvm/uvm_fault.c anon); anon 1122 uvm/uvm_fault.c uvm_pagecopy(anon->an_page, pg); anon 1125 uvm/uvm_fault.c pmap_page_protect(anon->an_page, anon 1130 uvm/uvm_fault.c anon->an_page->loan_count--; anon 1131 uvm/uvm_fault.c anon->an_page->uanon = NULL; anon 1134 uvm/uvm_fault.c &anon->an_page->pg_flags, PQ_ANON); anon 1143 uvm/uvm_fault.c anon->an_page = pg; anon 1144 uvm/uvm_fault.c pg->uanon = anon; anon 1168 uvm/uvm_fault.c if ((access_type & VM_PROT_WRITE) != 0 && anon->an_ref > 1) { anon 1172 uvm/uvm_fault.c oanon = anon; /* oanon = old, locked anon */ anon 1173 uvm/uvm_fault.c anon = uvm_analloc(); anon 1174 uvm/uvm_fault.c if (anon) { anon 1175 uvm/uvm_fault.c pg = uvm_pagealloc(NULL, 0, anon, 0); anon 1179 uvm/uvm_fault.c if (anon == NULL || pg == NULL) { anon 1180 uvm/uvm_fault.c if (anon) anon 1181 uvm/uvm_fault.c uvm_anfree(anon); anon 1184 uvm/uvm_fault.c if (anon == NULL || uvmexp.swpgonly == uvmexp.swpages) { anon 1203 uvm/uvm_fault.c anon, 1); anon 1217 uvm/uvm_fault.c oanon = anon; /* old, locked anon is same as anon */ anon 1218 uvm/uvm_fault.c pg = anon->an_page; anon 1219 uvm/uvm_fault.c if (anon->an_ref > 1) /* disallow writes to ref > 1 anons */ anon 1274 uvm/uvm_fault.c uvm_anon_dropswap(anon); anon 1568 uvm/uvm_fault.c anon = uvm_analloc(); anon 1569 uvm/uvm_fault.c if (anon) { anon 1576 uvm/uvm_fault.c pg = uvm_pagealloc(NULL, 0, anon, anon 1583 uvm/uvm_fault.c if (anon == NULL || pg == NULL) { anon 1604 uvm/uvm_fault.c if (anon == NULL || uvmexp.swpgonly == uvmexp.swpages) { anon 1613 uvm/uvm_fault.c uvm_anfree(anon); anon 1656 uvm/uvm_fault.c uobjpage, anon, pg, 0); anon 1665 uvm/uvm_fault.c anon, pg, 0, 0); anon 1669 uvm/uvm_fault.c anon, 0); anon 82 uvm/uvm_fault_i.h uvmfault_unlockall(ufi, amap, uobj, anon) anon 86 uvm/uvm_fault_i.h struct vm_anon *anon; anon 89 uvm/uvm_fault_i.h if (anon) anon 90 uvm/uvm_fault_i.h simple_unlock(&anon->an_lock); anon 139 uvm/uvm_loan.c struct vm_anon *anon; anon 158 uvm/uvm_loan.c anon = amap_lookup(aref, curaddr - ufi->entry->start); anon 160 uvm/uvm_loan.c anon = NULL; anon 163 uvm/uvm_loan.c if (anon) { anon 164 uvm/uvm_loan.c rv = uvm_loananon(ufi, output, flags, anon); anon 319 uvm/uvm_loan.c uvm_loananon(ufi, output, flags, anon) anon 323 uvm/uvm_loan.c struct vm_anon *anon; anon 334 uvm/uvm_loan.c simple_lock(&anon->an_lock); anon 335 uvm/uvm_loan.c pg = anon->an_page; anon 336 uvm/uvm_loan.c if (pg && (pg->pg_flags & PQ_ANON) != 0 && anon->an_ref == 1) anon 339 uvm/uvm_loan.c anon->an_ref++; anon 340 uvm/uvm_loan.c **output = anon; anon 342 uvm/uvm_loan.c simple_unlock(&anon->an_lock); anon 352 uvm/uvm_loan.c simple_lock(&anon->an_lock); anon 353 uvm/uvm_loan.c result = uvmfault_anonget(ufi, ufi->entry->aref.ar_amap, anon); anon 380 uvm/uvm_loan.c pg = anon->an_page; anon 393 uvm/uvm_loan.c simple_unlock(&anon->an_lock); anon 417 uvm/uvm_loan.c struct vm_anon *anon; anon 554 uvm/uvm_loan.c anon = pg->uanon; anon 555 uvm/uvm_loan.c simple_lock(&anon->an_lock); anon 556 uvm/uvm_loan.c anon->an_ref++; anon 557 uvm/uvm_loan.c simple_unlock(&anon->an_lock); anon 558 uvm/uvm_loan.c **output = anon; anon 574 uvm/uvm_loan.c anon = uvm_analloc(); anon 575 uvm/uvm_loan.c if (anon == NULL) { /* out of VM! */ anon 583 uvm/uvm_loan.c anon->an_page = pg; anon 584 uvm/uvm_loan.c pg->uanon = anon; anon 591 uvm/uvm_loan.c **output = anon; anon 616 uvm/uvm_loan.c struct vm_anon *anon; anon 648 uvm/uvm_loan.c while ((anon = uvm_analloc()) == NULL || anon 649 uvm/uvm_loan.c (pg = uvm_pagealloc(NULL, 0, anon, UVM_PGA_ZERO)) == NULL) { anon 656 uvm/uvm_loan.c if (anon == NULL) anon 659 uvm/uvm_loan.c uvm_anfree(anon); anon 678 uvm/uvm_loan.c **output = anon; anon 695 uvm/uvm_loan.c struct vm_anon *anon; anon 700 uvm/uvm_loan.c anon = *aloans++; anon 701 uvm/uvm_loan.c simple_lock(&anon->an_lock); anon 702 uvm/uvm_loan.c refs = --anon->an_ref; anon 703 uvm/uvm_loan.c simple_unlock(&anon->an_lock); anon 706 uvm/uvm_loan.c uvm_anfree(anon); /* last reference: kill anon */ anon 2864 uvm/uvm_map.c struct vm_anon *anon; anon 2924 uvm/uvm_map.c anon = amap_lookup(¤t->aref, offset); anon 2925 uvm/uvm_map.c if (anon == NULL) anon 2928 uvm/uvm_map.c simple_lock(&anon->an_lock); anon 2930 uvm/uvm_map.c pg = anon->an_page; anon 2932 uvm/uvm_map.c simple_unlock(&anon->an_lock); anon 2952 uvm/uvm_map.c simple_unlock(&anon->an_lock); anon 2967 uvm/uvm_map.c simple_unlock(&anon->an_lock); anon 2970 uvm/uvm_map.c KASSERT(pg->uanon == anon); anon 2984 uvm/uvm_map.c simple_unlock(&anon->an_lock); anon 2999 uvm/uvm_map.c simple_unlock(&anon->an_lock); anon 3003 uvm/uvm_map.c refs = --anon->an_ref; anon 3004 uvm/uvm_map.c simple_unlock(&anon->an_lock); anon 3006 uvm/uvm_map.c uvm_anfree(anon); anon 253 uvm/uvm_mmap.c struct vm_anon *anon; anon 331 uvm/uvm_mmap.c anon = amap_lookup(&entry->aref, anon 334 uvm/uvm_mmap.c if (anon != NULL && anon->an_page != NULL) { anon 901 uvm/uvm_page.c uvm_pagealloc_strat(obj, off, anon, flags, strat, free_list) anon 905 uvm/uvm_page.c struct vm_anon *anon; anon 915 uvm/uvm_page.c KASSERT(obj == NULL || anon == NULL); anon 970 uvm/uvm_page.c obj, (u_long)off, anon, flags); anon 1039 uvm/uvm_page.c pg->uanon = anon; anon 1042 uvm/uvm_page.c if (anon) { anon 1043 uvm/uvm_page.c anon->an_page = pg; anon 376 uvm/uvm_pdaemon.c struct vm_anon *anon; anon 409 uvm/uvm_pdaemon.c anon = NULL; anon 477 uvm/uvm_pdaemon.c anon = p->uanon; anon 478 uvm/uvm_pdaemon.c KASSERT(anon != NULL); anon 479 uvm/uvm_pdaemon.c if (!simple_lock_try(&anon->an_lock)) { anon 497 uvm/uvm_pdaemon.c simple_unlock(&anon->an_lock); anon 538 uvm/uvm_pdaemon.c if (anon) { anon 545 uvm/uvm_pdaemon.c KASSERT(anon->an_swslot != 0); anon 548 uvm/uvm_pdaemon.c anon->an_page = NULL; anon 549 uvm/uvm_pdaemon.c simple_unlock(&anon->an_lock); anon 564 uvm/uvm_pdaemon.c if (anon) { anon 565 uvm/uvm_pdaemon.c simple_unlock(&anon->an_lock); anon 584 uvm/uvm_pdaemon.c if (anon) { anon 585 uvm/uvm_pdaemon.c simple_unlock(&anon->an_lock); anon 639 uvm/uvm_pdaemon.c if (anon) { anon 640 uvm/uvm_pdaemon.c if (anon->an_swslot) { anon 641 uvm/uvm_pdaemon.c uvm_swap_free(anon->an_swslot, anon 643 uvm/uvm_pdaemon.c anon->an_swslot = 0; anon 664 uvm/uvm_pdaemon.c if (anon) anon 666 uvm/uvm_pdaemon.c &anon->an_lock); anon 680 uvm/uvm_pdaemon.c if (anon) anon 681 uvm/uvm_pdaemon.c anon->an_swslot = swslot + swcpages; anon 706 uvm/uvm_pdaemon.c if (anon) anon 707 uvm/uvm_pdaemon.c simple_unlock(&anon->an_lock); anon 839 uvm/uvm_pdaemon.c if (anon) anon 840 uvm/uvm_pdaemon.c simple_lock(&anon->an_lock); anon 861 uvm/uvm_pdaemon.c if (anon) { anon 863 uvm/uvm_pdaemon.c anon->an_page = NULL; anon 865 uvm/uvm_pdaemon.c simple_unlock(&anon->an_lock); anon 866 uvm/uvm_pdaemon.c uvm_anfree(anon); /* kills anon */ anon 868 uvm/uvm_pdaemon.c anon = NULL; anon 922 uvm/uvm_pdaemon.c if (anon) anon 923 uvm/uvm_pdaemon.c simple_unlock(&anon->an_lock);