Lines Matching refs:amp
492 struct anon_map *amp; in schedctl_shared_alloc() local
500 if ((error = schedctl_getpage(&, &kaddr)) != 0) { in schedctl_shared_alloc()
504 if ((error = schedctl_map(amp, &base, kaddr)) != 0) { in schedctl_shared_alloc()
505 schedctl_freepage(amp, kaddr); in schedctl_shared_alloc()
514 pagep->spc_amp = amp; in schedctl_shared_alloc()
579 schedctl_map(struct anon_map *amp, caddr_t *uaddrp, caddr_t kaddr) in schedctl_map() argument
603 vn_a.amp = amp; in schedctl_map()
624 struct anon_map *amp; in schedctl_getpage() local
631 amp = anonmap_alloc(PAGESIZE, 0, ANON_SLEEP); in schedctl_getpage()
637 KPD_NO_ANON | KPD_LOCKED | KPD_ZERO, amp); in schedctl_getpage()
639 amp->refcnt--; in schedctl_getpage()
640 anonmap_free(amp); in schedctl_getpage()
649 *newamp = amp; in schedctl_getpage()
662 schedctl_freepage(struct anon_map *amp, caddr_t kaddr) in schedctl_freepage() argument
667 ANON_LOCK_ENTER(&->a_rwlock, RW_WRITER); in schedctl_freepage()
673 if (--amp->refcnt == 0) { in schedctl_freepage()
679 anonmap_purge(amp); in schedctl_freepage()
680 anon_free(amp->ahp, 0, PAGESIZE); in schedctl_freepage()
681 ANON_LOCK_EXIT(&->a_rwlock); in schedctl_freepage()
682 anonmap_free(amp); in schedctl_freepage()
684 ANON_LOCK_EXIT(&->a_rwlock); in schedctl_freepage()