Lines Matching defs:amp

186 sptcreate(size_t size, struct seg **sptseg, struct anon_map *amp,
208 sptcargs.amp = amp;
225 sptdestroy(struct as *as, struct anon_map *amp)
231 (void) as_unmap(as, SEGSPTADDR, amp->size);
299 struct anon_map *amp = shmd->shm_amp;
315 ANON_LOCK_ENTER(&amp->a_rwlock, RW_READER);
318 anon_array_enter(amp, anon_index, &cookie);
319 ap = anon_get_ptr(amp->ahp, anon_index);
336 ANON_LOCK_EXIT(&amp->a_rwlock);
376 struct anon_map *amp = sptcargs->amp;
377 struct kshmid *sp = amp->a_sp;
380 pgcnt_t npages = btopr(amp->size);
426 sptd->spt_amp = amp;
436 ANON_LOCK_ENTER(&amp->a_rwlock, RW_WRITER);
437 if (seg->s_szc > amp->a_szc) {
438 amp->a_szc = seg->s_szc;
440 ANON_LOCK_EXIT(&amp->a_rwlock);
446 (void) lgrp_shm_policy_set(LGRP_MEM_POLICY_DEFAULT, amp, anon_index,
456 if (!IS_P2ALIGNED(amp->size, share_sz)) {
465 new_npgs = btop(P2ROUNDUP(amp->size, share_sz));
480 ANON_LOCK_ENTER(&amp->a_rwlock, RW_WRITER);
481 (void) anon_copy_ptr(amp->ahp, 0, nahp, 0, npages,
483 anon_release(amp->ahp, npages);
484 amp->ahp = nahp;
485 ASSERT(amp->swresv == ptob(npages));
486 amp->swresv = amp->size = ptob(new_npgs);
487 ANON_LOCK_EXIT(&amp->a_rwlock);
500 * get array of pages for each anon slot in amp
502 if ((err = anon_map_createpages(amp, anon_index, ptob(npages), ppa,
621 struct anon_map *amp;
647 amp = sptd->spt_amp;
649 npages = btop(amp->size);
651 ASSERT(amp != NULL);
654 sp = amp->a_sp;
660 if ((ap = anon_get_ptr(amp->ahp, anon_idx)) == NULL) {
665 if ((ap = anon_get_next_ptr(amp->ahp, &anon_idx))
669 ASSERT(ANON_ISBUSY(anon_get_slot(amp->ahp, anon_idx)) == 0);
781 struct anon_map *amp;
799 amp = spt_data->spt_amp;
800 ASSERT(amp->refcnt != 0);
808 policy_info = lgrp_shm_policy_get(amp, anon_index, NULL, 0);
832 struct anon_map *amp;
858 * by amp
979 amp = sptd->spt_amp;
994 ANON_LOCK_ENTER(&amp->a_rwlock, RW_WRITER);
996 ap = anon_get_ptr(amp->ahp, an_idx);
1045 ANON_LOCK_EXIT(&amp->a_rwlock);
1189 struct anon_map *amp;
1218 * by amp
1312 amp = sptd->spt_amp;
1313 ASSERT(amp != NULL);
1323 ANON_LOCK_ENTER(&amp->a_rwlock, RW_WRITER);
1326 ap = anon_get_ptr(amp->ahp, anon_index);
1333 ANON_LOCK_EXIT(&amp->a_rwlock);
1585 struct anon_map *amp; /* XXX - for locknest */
1617 amp = sptd->spt_amp;
1618 ASSERT(amp != NULL);
1622 ap = anon_get_ptr(amp->ahp, anon_index++);
1632 ASSERT(ap == anon_get_ptr(amp->ahp, anon_index - 1));
2019 struct anon_map *amp; /* XXX - for locknest */
2141 amp = sptd->spt_amp;
2142 ASSERT(amp != NULL);
2145 ANON_LOCK_ENTER(&amp->a_rwlock, RW_READER);
2147 ap = anon_get_ptr(amp->ahp, anon_index++);
2154 ANON_LOCK_EXIT(&amp->a_rwlock);
2261 struct anon_map *amp = shmd->shm_amp;
2272 shmd_new->shm_amp = amp;
2278 ANON_LOCK_ENTER(&amp->a_rwlock, RW_WRITER);
2279 amp->refcnt++;
2280 ANON_LOCK_EXIT(&amp->a_rwlock);
2283 shmd_new->shm_vpage = kmem_zalloc(btopr(amp->size), KM_SLEEP);
2290 btopr(amp->size));
2329 struct anon_map *amp = sptd->spt_amp;
2355 ANON_LOCK_ENTER(&amp->a_rwlock, RW_READER);
2357 amp_pgs = page_get_pagecnt(amp->a_szc);
2373 anon_array_enter(amp, an_idx, &cookie);
2377 ierr = anon_map_getpages(amp, an_idx, szc, sptseg,
2441 ANON_LOCK_EXIT(&amp->a_rwlock);
2448 ANON_LOCK_EXIT(&amp->a_rwlock);
2572 struct anon_map *amp = sptd->spt_amp;
2583 ANON_LOCK_ENTER(&amp->a_rwlock, RW_READER);
2586 anon_array_enter(amp, anon_index, &cookie);
2587 ap = anon_get_ptr(amp->ahp, anon_index);
2633 ANON_LOCK_EXIT(&amp->a_rwlock);
2854 struct anon_map *amp;
2867 amp = sptd->spt_amp;
2873 ANON_LOCK_ENTER(&amp->a_rwlock, RW_READER);
2874 (void) anon_disclaim(amp, pg_idx, len, behav, NULL);
2875 ANON_LOCK_EXIT(&amp->a_rwlock);
2931 ANON_LOCK_ENTER(&amp->a_rwlock, RW_READER);
2932 (void) anon_disclaim(amp, pg_idx, len, behav, NULL);
2933 ANON_LOCK_EXIT(&amp->a_rwlock);
2953 amp = shmd->shm_amp;
2971 already_set = lgrp_shm_policy_set(policy, amp, anon_index,
2990 page_mark_migrate(seg, shm_addr, size, amp, 0, NULL, 0, 0);
3019 struct anon_map *amp = shmd->shm_amp;
3030 ANON_LOCK_ENTER(&amp->a_rwlock, RW_READER);
3031 anon_array_enter(amp, anon_index, &cookie);
3032 ap = anon_get_ptr(amp->ahp, anon_index);
3040 ANON_LOCK_EXIT(&amp->a_rwlock);
3043 (void) anon_set_ptr(amp->ahp, anon_index, ap, ANON_SLEEP);
3047 ANON_LOCK_EXIT(&amp->a_rwlock);
3059 struct anon_map *amp;
3077 amp = shm_data->shm_amp;
3078 ASSERT(amp->refcnt != 0);
3086 policy_info = lgrp_shm_policy_get(amp, anon_index, NULL, 0);