Lines Matching defs:amap
1065 * => XXXCDC: need way to map in external amap?
1361 * can't extend a shared amap. note: no need to lock amap to
1417 * can't extend a shared amap. note: no need to lock amap to
1422 * merged with the previous entry which has an amap,
1423 * and the next entry also has an amap, we give up.
1426 * amap, new, amap -> give up second merge (single fwd extend)
1427 * amap, new, none -> double forward extend (extend again here)
1428 * none, new, amap -> double backward extend (done here)
1429 * uobj, new, amap -> single backward extend (done here)
1433 * backed by the same amap (ie, arefs is 2, "prev" and
1447 * Try to extend the amap of the previous entry to
1461 * Try to extend the amap of the *next* entry
1464 * didn't have an amap already otherwise we
1465 * wouldn't be checking here for an amap). If
1479 * Pull the next entry's amap backwards to cover this
1585 struct vm_amap *amap = amap_alloc(size, to_add,
1587 if (__predict_false(amap == NULL)) {
1592 new_entry->aref.ar_amap = amap;
2413 * and/or amap to ensure vm_page state does not
2514 " detach %#jx: amap=%#jx, obj=%#jx, submap?=%jd",
2521 * drop reference to amap, if we've got one
2552 * map (dummy means obj=NULL, amap=NULL, prot=VM_PROT_NONE)
3428 struct vm_amap * const amap = entry->aref.ar_amap;
3441 if (UVM_ET_ISOBJ(entry) && amap == NULL && uobj != NULL) {
3618 * found one. amap creation actions do not need to
3957 * => never a need to flush amap layer since the anonymous memory has
3968 struct vm_amap *amap;
4015 amap = current->aref.ar_amap; /* upper layer */
4020 * No amap cleaning necessary if:
4022 * (1) There's no amap.
4027 if (amap == NULL || (flags & (PGO_DEACTIVATE|PGO_FREE)) == 0)
4033 amap_lock(amap, RW_WRITER);
4039 KASSERT(anon->an_lock == amap->am_lock);
4078 * the amap, just deactivate the page.
4081 if (amap_refs(amap) > 1)
4096 amap_unlock(amap);
4483 * if the old_entry needs a new amap (due to prev fork)
4490 /* get our own amap, clears needs_copy */
4520 * the new entry will need an amap. it will either
4523 * amap). can we defer this process until later
4525 * the amap now?
4527 * we must copy the amap now if any of the following
4529 * 1. the old entry has an amap and that amap is
4531 * process is sharing the amap with another
4535 * same amap with "needs_copy" set. if the
4538 * a new amap. this is wrong because the
4539 * parent is supposed to be sharing the old amap
4540 * and the new amap will break that.
4542 * 2. if the old entry has an amap and a non-zero
4569 * allocated any needed amap (above).
4577 * the old mapping does not have an amap).
4586 * an amap and it is not already "needs_copy"...
5071 /* amap unlocked below */
5256 (*pr)(" - %p: %#lx->%#lx: obj=%p/%#llx, amap=%p/%d\n",