/illumos-gate/usr/src/uts/i86pc/vm/ |
H A D | hment.h | 44 * the page_t. If it returns a non-NULL pointer, the pointer must be 47 extern hment_t *hment_remove(page_t *, htable_t *ht, uint_t entry); 53 extern hment_t *hment_walk(page_t *, htable_t **, uint_t *, hment_t *); 58 extern hment_t *hment_prepare(htable_t *ht, uint_t entry, page_t *); 63 extern void hment_assign(htable_t *ht, uint_t entry, page_t *, hment_t *); 71 * lock/unlock a page_t's mapping list/pte entry 73 extern void x86_hm_enter(page_t *); 74 extern void x86_hm_exit(page_t *); 75 extern int x86_hm_held(page_t *pp); 92 * Return the number of mappings of a page_t [all...] |
H A D | hment.c | 44 * structs hangs off of the page_t connected by the hm_next and hm_prev 63 * embedded in the page_t. 282 x86_hm_held(page_t *pp) 291 x86_hm_enter(page_t *pp) 299 x86_hm_exit(page_t *pp) 307 * Internal routine to add a full hment to a page_t mapping list 310 hment_insert(hment_t *hm, page_t *pp) 341 * - Adding the first mapping to a page_t as an embedded hment 344 * - Adding another mapping to a page_t that already has multiple mappings 353 hment_prepare(htable_t *htable, uint_t entry, page_t *p [all...] |
H A D | vm_dep.h | 66 extern void plcnt_inc_dec(page_t *, int, int, long, int); 115 extern page_t ****page_freelists; 126 extern page_t ***page_cachelists; 143 extern page_t *page_get_mnode_freelist(int, uint_t, int, uchar_t, uint_t); 144 extern page_t *page_get_mnode_cachelist(uint_t, uint_t, int, int); 307 extern int mtype_pgr_init(int *, page_t *, int, pgcnt_t); 326 extern void chk_lpg(page_t *, uchar_t); 548 extern void page_ctr_sub(int, int, page_t *, int); 549 extern page_t *page_freelist_split(uchar_t, 551 extern page_t *page_freelist_coalesc [all...] |
/illumos-gate/usr/src/uts/common/inet/nca/ |
H A D | ncakmem.h | 45 extern page_t **kmem_phys_alloc(size_t, int, char **); 46 extern void kmem_phys_free(page_t **); 47 extern void *kmem_phys_mapin(page_t **, void *, int); 48 extern void kmem_phys_mapout(page_t **, void *);
|
/illumos-gate/usr/src/uts/common/vm/ |
H A D | page.h | 118 * The number of low order 0 (or less variable) bits in the page_t address. 436 * The P_NORELOC bit in the page_t.p_state field is provided for use by 448 * page_t virtual address space is remapped to a page (or pages) of 449 * zeros. If a page_t is manipulated while it is p_selock'd, or if it is 453 * of these locks, it is possible for the page_t being referenced to be 454 * deleted. Examples of this are page_t pointers returned by 455 * page_numtopp_nolock, page_first and page_next. Providing the page_t 546 } page_t; typedef in typeref:struct:page 549 typedef page_t devpage_t; 553 ((1 << (sizeof (((page_t *) [all...] |
H A D | seg_kmem.h | 78 extern page_t *segkmem_page_create(void *, size_t, int, void *); 80 page_t *(*page_create_func)(void *, size_t, int, void *), void *); 84 extern void segkmem_xfree(vmem_t *, void *, size_t, void (*)(page_t *));
|
H A D | page_lock.c | 71 * fields of all page_t structures. 74 * when given a pointer to a page_t. 84 #define PIO_SHIFT 7 /* log2(sizeof(page_t)) */ 243 page_lock(page_t *pp, se_t se, kmutex_t *lock, reclaim_t reclaim) 294 page_lock_es(page_t *pp, se_t se, kmutex_t *lock, reclaim_t reclaim, int es) 478 page_lock_clr_exclwanted(page_t *pp) 503 page_try_reclaim_lock(page_t *pp, se_t se, int es) 574 page_trylock(page_t *pp, se_t se) 616 page_unlock_nocapture(page_t *pp) 650 page_unlock(page_t *p [all...] |
H A D | vm_page.c | 274 static inline page_t * 278 page_t *page; 336 static int page_do_hashin(page_t *, vnode_t *, u_offset_t); 337 static void page_do_hashout(page_t *); 339 int page_capture_take_action(page_t *, uint_t, void *); 341 static void page_demote_vp_pages(page_t *); 551 * add_physmem() since this is how we initialize all page_t's at 556 page_t *pp, 560 page_t *root = NULL; 608 * initialize other fields in the page_t [all...] |
H A D | vm_pvn.c | 90 page_t * 103 page_t *pp; 104 page_t *plist = NULL; 118 return ((page_t *)NULL); /* ra case - give up */ 144 return ((page_t *)NULL); /* segment driver says no */ 148 return ((page_t *)NULL); 234 page_t * 237 page_t *pp, 245 page_t *dirty; 306 pvn_io_done(page_t *plis [all...] |
H A D | pvn.h | 73 void pvn_vplist_setdirty(vnode_t *vp, int (*page_check)(page_t *)); 92 #define PVN_VPLIST_HASH_TAG ((page_t *)-1)
|
/illumos-gate/usr/src/uts/common/sys/ |
H A D | hold_page.h | 44 * int plat_hold_page(pfn_t pfn, int lock, page_t **pp_ret) 57 * void plat_release_page(page_t *pp) 69 extern int plat_hold_page(pfn_t, int, page_t **); 70 extern void plat_release_page(page_t *);
|
H A D | fdbuffer.h | 109 page_t *pages; /* page list for FDPAGE_BUF */ 115 page_t **fd_shadow; /* shadow pages used for direct i/o to uspace */ 140 extern fdbuffer_t *fdb_page_create(page_t *pp, size_t len, int flag); 142 page_t **pplist, struct proc *procp);
|
H A D | bofi_impl.h | 98 page_t *map_pp; 99 page_t **map_pplist;
|
/illumos-gate/usr/src/uts/sun4/vm/ |
H A D | mach_kpm.h | 34 extern kmutex_t *sfmmu_page_enter(page_t *); 37 extern void sfmmu_page_cache_array(page_t *, int, int, pgcnt_t); 38 extern cpuset_t sfmmu_pageunload(page_t *, struct sf_hment *, int); 39 extern int tst_tnc(page_t *pp, pgcnt_t); 40 extern void conv_tnc(page_t *pp, int); 41 extern int fnd_mapping_sz(page_t *); 45 extern void sfmmu_kpm_pageunload(page_t *); 46 extern void sfmmu_kpm_vac_unload(page_t *, caddr_t); 47 extern void sfmmu_kpm_hme_unload(page_t *); 48 extern kpm_hlk_t *sfmmu_kpm_kpmp_enter(page_t *, pgcnt_ [all...] |
H A D | vm_dep.c | 97 extern void page_relocate_hash(page_t *, page_t *); 104 extern page_t *page_get_freelist(struct vnode *, u_offset_t, struct seg *, 773 page_t ***page_freelists[MMU_PAGE_SIZES][MAX_MEM_TYPES]; 779 page_t ***page_cachelists[MAX_MEM_TYPES]; 796 cache_sz = (page_get_pagecolors(0) * sizeof (page_t *)) + 797 sizeof (page_t **); 803 free_sz = sizeof (page_t **); 805 free_sz += sizeof (page_t *) * page_get_pagecolors(szc); 822 page_cachelists[mtype] = (page_t ***)alloc_bas [all...] |
/illumos-gate/usr/src/uts/i86pc/os/ |
H A D | hold_page.c | 34 plat_hold_page(pfn_t pfn, int lock, page_t **pp_ret) 36 page_t *pp = page_numtopp_nolock(pfn); 75 plat_release_page(page_t *pp)
|
H A D | pmem.c | 91 page_t *pl_pp; /* start pp */ 106 static page_t *pmem_mpool = NULL; 115 static pmem_lpg_t *pmem_lpg_get(pmem_lpg_t *, page_t *, pmem_lpg_t **); 118 static void lpg_free(page_t *spp); 119 static pgcnt_t mpool_break(page_t **, pgcnt_t); 120 static void mpool_append(page_t **, pgcnt_t); 121 static void lpp_break(page_t **, pgcnt_t, pgcnt_t, pmem_lpg_t *); 122 static void lpp_free(page_t *, pgcnt_t, pmem_lpg_t **); 123 static int lpp_create(page_t **, pgcnt_t, pgcnt_t *, pmem_lpg_t **, 125 static void tlist_in(page_t *, pgcnt_ [all...] |
H A D | ppage.c | 55 ppmapin(page_t *pp, uint_t vprot, caddr_t avoid) 77 i86_pp_map(page_t *pp, caddr_t kaddr)
|
/illumos-gate/usr/src/uts/sun4v/os/ |
H A D | memseg.c | 44 extern page_t *ppvm_base; 53 * The page_t memory for incoming pages is allocated from existing memory 56 * some memory is always reserved ahead of time for page_t allocation. 57 * Each 4MB of reserved page_t's guarantees a 256MB (x64) addition without 58 * page_t allocation. The added 256MB added memory could theoretically 61 #define RSV_SIZE 0x40000000 /* add size with rsrvd page_t's 1G */ 70 * The page_t's for the incoming memory are allocated from 77 page_t *pp, *opp, *epp; 86 if ((base + npgs) * sizeof (page_t) > ppvm_size) 91 metapgs = btopr(npgs * sizeof (page_t)); [all...] |
H A D | ppage.c | 143 ppmapin(page_t *pp, uint_t vprot, caddr_t hint) 236 ppcopy_kernel__relocatable(page_t *fm_pp, page_t *to_pp) 259 ppcopy(page_t *fm_pp, page_t *to_pp) 312 pagezero(page_t *pp, uint_t off, uint_t len)
|
/illumos-gate/usr/src/uts/common/nfs/ |
H A D | rnode.h | 104 page_t *c_pages; /* list of pages to commit */ 289 (vnode_t *, page_t *, u_offset_t *, size_t *, int, cred_t *); 344 extern int nfs_async_putapage(vnode_t *, page_t *, u_offset_t, size_t, 345 int, cred_t *, int (*)(vnode_t *, page_t *, 347 extern int nfs_async_pageio(vnode_t *, page_t *, u_offset_t, size_t, 348 int, cred_t *, int (*)(vnode_t *, page_t *, 353 extern void nfs_async_commit(vnode_t *, page_t *, offset3, count3, 354 cred_t *, void (*)(vnode_t *, page_t *, 382 extern int nfs_putapage(vnode_t *, page_t *, u_offset_t *, size_t *, 384 extern int nfs3_putapage(vnode_t *, page_t *, u_offset_ [all...] |
/illumos-gate/usr/src/uts/i86xpv/sys/ |
H A D | balloon_impl.h | 54 long balloon_replace_pages(uint_t, page_t **, uint_t, uint_t, mfn_t *); 65 pgcnt_t bln_max_pages; /* first pfn for which we don't have a page_t */
|
/illumos-gate/usr/src/uts/common/fs/ |
H A D | fs_subr.h | 83 extern void fs_dispose(struct vnode *, page_t *, int, int, struct cred *, 85 extern void fs_nodispose(struct vnode *, page_t *, int, int, struct cred *,
|
/illumos-gate/usr/src/uts/common/fs/swapfs/ |
H A D | swap_vnops.c | 62 static void swap_dispose(vnode_t *vp, page_t *pp, int fl, int dn, 66 uint_t *protp, page_t **plarr, size_t plsz, 70 uint_t *protp, page_t **plarr, size_t plsz, page_t *conpp, 74 static int swap_putapage(struct vnode *vp, page_t *pp, u_offset_t *off, 112 page_t *pl[], 141 page_t *pl[], 312 page_t *pl[], 314 page_t *conpp, 484 page_t *p [all...] |
/illumos-gate/usr/src/uts/i86xpv/os/ |
H A D | balloon.c | 54 * (allocating page_t's if necessary), and release them into the system. 56 * the hypervisor, saving the page_t's for later use. 70 * For holding spare page_t structures - keep a singly-linked list. 72 * (pagenum >= mfn_count) page_t's. Valid page_t's should be inserted 73 * at the front, and invalid page_t's at the back. Removal should 77 static page_t *bln_spare_list_front, *bln_spare_list_back; 114 * Add the page_t structure to our spare list. 117 balloon_page_add(page_t *pp) 149 * Return a page_t structur [all...] |