Lines Matching refs:vpage

183 #define	vpgtob(n)	((n) * sizeof (struct vpage))	/* For brevity */
209 u_offset_t, struct vpage *, page_t **, uint_t,
225 static int segvn_claim_pages(struct seg *, struct vpage *, u_offset_t,
826 svd->vpage = NULL; in segvn_create()
1019 struct vpage *vpage1 = svd1->vpage; in segvn_concat()
1020 struct vpage *vpage2 = svd2->vpage, *nvpage = NULL; in segvn_concat()
1082 struct vpage *vp, *evp; in segvn_concat()
1226 svd2->vpage = NULL; in segvn_concat()
1238 svd1->vpage = nvpage; in segvn_concat()
1264 struct vpage *new_vpage;
1332 if (svd1->vpage != NULL) {
1333 struct vpage *vp, *evp;
1339 bcopy(svd1->vpage, new_vpage, vpgtob(seg_pages(seg1)));
1340 kmem_free(svd1->vpage, vpgtob(seg_pages(seg1)));
1341 svd1->vpage = new_vpage;
1356 ASSERT(svd1->vpage != NULL || svd1->pageswap == 0);
1385 struct vpage *new_vpage; in segvn_extend_next()
1448 if (svd2->vpage != NULL) { in segvn_extend_next()
1449 struct vpage *vp, *evp; in segvn_extend_next()
1459 bcopy(svd2->vpage, new_vpage + seg_pages(seg1), in segvn_extend_next()
1461 kmem_free(svd2->vpage, vpgtob(seg_pages(seg2))); in segvn_extend_next()
1462 svd2->vpage = new_vpage; in segvn_extend_next()
1477 ASSERT(svd2->vpage != NULL || svd2->pageswap == 0); in segvn_extend_next()
1523 struct vpage *vpp; in segvn_dup_pages()
1525 vpp = &svd->vpage[seg_page(seg, addr)]; in segvn_dup_pages()
1717 newsvd->vpage = NULL; in segvn_dup()
1747 if (svd->vpage != NULL) { in segvn_dup()
1749 struct vpage *ovp = svd->vpage; in segvn_dup()
1750 struct vpage *nvp; in segvn_dup()
1752 nvp = newsvd->vpage = in segvn_dup()
1759 newsvd->vpage = NULL; in segvn_dup()
1838 struct vpage *vp, *evp; in segvn_count_swap_by_vpages()
1842 ASSERT(svd->vpage != NULL); in segvn_count_swap_by_vpages()
1844 evp = &svd->vpage[seg_page(seg, seg->s_base + seg->s_size)]; in segvn_count_swap_by_vpages()
1846 for (vp = svd->vpage; vp < evp; vp++) { in segvn_count_swap_by_vpages()
2025 if (svd->vpage != NULL) { in segvn_unmap()
2027 struct vpage *ovpage; in segvn_unmap()
2029 ovpage = svd->vpage; /* keep pointer to vpage */ in segvn_unmap()
2032 svd->vpage = kmem_alloc(nbytes, KM_SLEEP); in segvn_unmap()
2033 bcopy(&ovpage[dpages], svd->vpage, nbytes); in segvn_unmap()
2131 if (svd->vpage != NULL) { in segvn_unmap()
2133 struct vpage *ovpage; in segvn_unmap()
2135 ovpage = svd->vpage; /* keep pointer to vpage */ in segvn_unmap()
2138 svd->vpage = kmem_alloc(nbytes, KM_SLEEP); in segvn_unmap()
2139 bcopy(ovpage, svd->vpage, nbytes); in segvn_unmap()
2265 if (svd->vpage == NULL) { in segvn_unmap()
2266 nsvd->vpage = NULL; in segvn_unmap()
2270 struct vpage *ovpage; in segvn_unmap()
2272 ovpage = svd->vpage; /* keep pointer to vpage */ in segvn_unmap()
2276 svd->vpage = kmem_alloc(nbytes, KM_SLEEP); in segvn_unmap()
2278 bcopy(ovpage, svd->vpage, nbytes); in segvn_unmap()
2282 nsvd->vpage = kmem_alloc(nbytes, KM_SLEEP); in segvn_unmap()
2284 bcopy(&ovpage[opages - npages], nsvd->vpage, nbytes); in segvn_unmap()
2440 if (svd->vpage != NULL) { in segvn_free()
2441 kmem_free(svd->vpage, vpgtob(npages)); in segvn_free()
2442 svd->vpage = NULL; in segvn_free()
2705 struct vpage *vpage, /* pointer to vpage for vp, off */ in segvn_faultpage() argument
2760 prot = VPP_PROT(vpage); in segvn_faultpage()
2860 if (AS_ISPGLCK(seg->s_as) && vpage != NULL && in segvn_faultpage()
2862 !VPP_ISPPLOCK(vpage)) { in segvn_faultpage()
2868 claim = VPP_PROT(vpage) & PROT_WRITE; in segvn_faultpage()
2870 VPP_SETPPLOCK(vpage); in segvn_faultpage()
3031 vpage != NULL && VPP_ISPPLOCK(vpage)))) { in segvn_faultpage()
3059 if (vpage != NULL && VPP_ISPPLOCK(vpage)) in segvn_faultpage()
3841 struct vpage *vpage = (svd->vpage != NULL) ? in segvn_fault_vnodepages() local
3842 &svd->vpage[seg_page(seg, a)] : NULL; in segvn_fault_vnodepages()
3980 ASSERT(vpage != NULL); in segvn_fault_vnodepages()
3981 prot = VPP_PROT(vpage); in segvn_fault_vnodepages()
4169 seg, a, prot, ppa, vpage, segvn_anypgsz, in segvn_fault_vnodepages()
4504 if (vpage != NULL) { in segvn_fault_vnodepages()
4505 vpage += pages; in segvn_fault_vnodepages()
4556 vpage = (svd->vpage != NULL) ? in segvn_fault_vnodepages()
4557 &svd->vpage[seg_page(seg, a)] : NULL; in segvn_fault_vnodepages()
4580 vpage = (svd->vpage != NULL) ? in segvn_fault_vnodepages()
4581 &svd->vpage[seg_page(seg, a)] : NULL; in segvn_fault_vnodepages()
4647 struct vpage *vpage = (svd->vpage != NULL) ? in segvn_fault_anonpages() local
4648 &svd->vpage[seg_page(seg, a)] : NULL; in segvn_fault_anonpages()
4707 ASSERT(vpage != NULL); in segvn_fault_anonpages()
4708 prot = VPP_PROT(vpage); in segvn_fault_anonpages()
4732 prot, &vpprot, ppa, &ppa_szc, vpage, rw, brkcow, in segvn_fault_anonpages()
4779 if (vpage != NULL) in segvn_fault_anonpages()
4780 vpage += pages; in segvn_fault_anonpages()
4855 vpage = (svd->vpage != NULL) ? in segvn_fault_anonpages()
4856 &svd->vpage[seg_page(seg, a)] : NULL; in segvn_fault_anonpages()
4878 vpage = (svd->vpage != NULL) ? in segvn_fault_anonpages()
4879 &svd->vpage[seg_page(seg, a)] : NULL; in segvn_fault_anonpages()
4929 struct vpage *vpage; in segvn_fault() local
5219 if (svd->vpage == NULL) in segvn_fault()
5220 vpage = NULL; in segvn_fault()
5222 vpage = &svd->vpage[page]; in segvn_fault()
5233 struct vpage *vpp; in segvn_fault()
5242 VPP_ADVICE(vpage) == MADV_SEQUENTIAL)) { in segvn_fault()
5245 if (vpage != NULL) in segvn_fault()
5246 vpp = &svd->vpage[fpage]; in segvn_fault()
5252 (!svd->pageadvice || (vpage && in segvn_fault()
5485 err = segvn_faultpage(hat, seg, a, off, vpage, plp, vpprot, in segvn_fault()
5500 if (vpage) { in segvn_fault()
5501 vpage++; in segvn_fault()
5502 } else if (svd->vpage) { in segvn_fault()
5504 vpage = &svd->vpage[++page]; in segvn_fault()
5558 prot = VPP_PROT(&svd->vpage[page]) & vpprot; in segvn_fault()
5672 struct vpage *cvp, *svp, *evp; in segvn_setprot()
5813 if (svd->vpage == NULL) { in segvn_setprot()
5818 svp = &svd->vpage[seg_page(seg, addr)]; in segvn_setprot()
5819 evp = &svd->vpage[seg_page(seg, in segvn_setprot()
5859 ASSERT(svd->vpage != NULL); in segvn_setprot()
5888 if (addr == seg->s_base && len == seg->s_size && svd->vpage == NULL) { in segvn_setprot()
5911 if (svd->vpage == NULL) { in segvn_setprot()
5924 evp = &svd->vpage[seg_page(seg, addr + len)]; in segvn_setprot()
5930 for (svp = &svd->vpage[seg_page(seg, addr)]; svp < evp; svp++) { in segvn_setprot()
6008 len = (svp - &svd->vpage[seg_page(seg, addr)]) * in segvn_setprot()
6019 if (svd->vpage == NULL) { in segvn_setprot()
6024 evp = &svd->vpage[seg_page(seg, addr + len)]; in segvn_setprot()
6025 for (svp = &svd->vpage[seg_page(seg, addr)]; svp < evp; svp++) { in segvn_setprot()
6329 seg->s_size, szc, svd->prot, svd->vpage, in segvn_setpagesize()
6364 struct vpage *vpage = svd->vpage; in segvn_clrszc() local
6422 ASSERT(vpage != NULL || svd->pageprot == 0); in segvn_clrszc()
6423 if (vpage != NULL) { in segvn_clrszc()
6425 prot = VPP_PROT(vpage); in segvn_clrszc()
6426 pageflag = VPP_ISPPLOCK(vpage) ? LOCK_PAGE : 0; in segvn_clrszc()
6432 seg, a, prot, vpage, svd->cred)) != 0) { in segvn_clrszc()
6455 vpage = (vpage == NULL) ? NULL : vpage + pages; in segvn_clrszc()
6468 struct vpage *svp, in segvn_claim_pages()
6478 struct vpage *evp = svp + pgcnt; in segvn_claim_pages()
6479 caddr_t addr = ((uintptr_t)(svp - svd->vpage) << PAGESHIFT) in segvn_claim_pages()
6490 ASSERT(svd->vpage != NULL); in segvn_claim_pages()
6631 if (svd->vpage != NULL) { in segvn_split_seg()
6634 struct vpage *ovpage = svd->vpage; in segvn_split_seg()
6636 svd->vpage = kmem_alloc(bytes, KM_SLEEP); in segvn_split_seg()
6637 bcopy(ovpage, svd->vpage, bytes); in segvn_split_seg()
6638 nsvd->vpage = kmem_alloc(nbytes, KM_SLEEP); in segvn_split_seg()
6639 bcopy(ovpage + seg_pages(seg), nsvd->vpage, nbytes); in segvn_split_seg()
6864 struct vpage *vp, *evp; in segvn_checkprot()
6883 evp = &svd->vpage[seg_page(seg, addr + len)]; in segvn_checkprot()
6884 for (vp = &svd->vpage[seg_page(seg, addr)]; vp < evp; vp++) { in segvn_checkprot()
6913 protv[pgno] = VPP_PROT(&svd->vpage[pgno+pgoff]); in segvn_getprot()
6996 else if (svd->pageadvice && svd->vpage) { in segvn_kluster()
6997 struct vpage *bvpp, *evpp; in segvn_kluster()
6999 bvpp = &svd->vpage[page]; in segvn_kluster()
7000 evpp = &svd->vpage[page + pd]; in segvn_kluster()
7245 struct vpage *vpp; in segvn_sync()
7308 vpp = svd->vpage; in segvn_sync()
7333 vpp = &svd->vpage[seg_page(seg, addr)]; in segvn_sync()
7475 struct vpage *vpp; in segvn_incore()
7498 vpp = (svd->vpage) ? &svd->vpage[p]: NULL; in segvn_incore()
7633 struct vpage *vpp; in segvn_lockop()
7634 struct vpage *evp; in segvn_lockop()
7712 if ((vpp = svd->vpage) == NULL) { in segvn_lockop()
7715 if (svd->vpage == NULL) { in segvn_lockop()
7741 evp = &svd->vpage[seg_page(seg, addr + len)]; in segvn_lockop()
7750 for (vpp = &svd->vpage[seg_page(seg, addr)]; vpp < evp; in segvn_lockop()
7803 for (vpp = &svd->vpage[seg_page(seg, addr)]; vpp < evp; in segvn_lockop()
8336 if (svd->vpage == NULL) { in segvn_advise()
8342 struct vpage *bvpp, *evpp; in segvn_advise()
8548 bvpp = &svd->vpage[page]; in segvn_advise()
8549 evpp = &svd->vpage[page + (len >> PAGESHIFT)]; in segvn_advise()
8576 struct vpage *bvpp, *evpp; in segvn_inherit()
8621 if (svd->vpage == NULL) { in segvn_inherit()
8623 if (svd->vpage == NULL) { in segvn_inherit()
8631 bvpp = &svd->vpage[page]; in segvn_inherit()
8632 evpp = &svd->vpage[page + (len >> PAGESHIFT)]; in segvn_inherit()
8649 struct vpage *vp, *evp; in segvn_vpage()
8658 if (svd->vpage == NULL) { in segvn_vpage()
8674 ulong_t mem_needed = seg_pages(seg) * sizeof (struct vpage); in segvn_vpage()
8684 svd->vpage = kmem_zalloc(mem_needed, KM_SLEEP); in segvn_vpage()
8685 evp = &svd->vpage[seg_page(seg, seg->s_base + seg->s_size)]; in segvn_vpage()
8686 for (vp = svd->vpage; vp < evp; vp++) { in segvn_vpage()
8964 struct vpage *vp = &svd->vpage[seg_page(seg, lpgaddr)]; in segvn_pagelock()
8965 struct vpage *evp = &svd->vpage[seg_page(seg, addr)]; in segvn_pagelock()
9001 struct vpage *vp; in segvn_pagelock()
9002 struct vpage *evp; in segvn_pagelock()
9004 vp = &svd->vpage[seg_page(seg, addr + len)]; in segvn_pagelock()
9005 evp = &svd->vpage[seg_page(seg, lpgeaddr)]; in segvn_pagelock()
9172 struct vpage *vp; in segvn_pagelock()
9176 vp = &svd->vpage[seg_page(seg, a)]; in segvn_pagelock()
9232 struct vpage *vp; in segvn_pagelock()
9236 vp = &svd->vpage[seg_page(seg, a)]; in segvn_pagelock()
9328 struct vpage *vpage; in segvn_pagelock() local
9334 if (svd->vpage != NULL) { in segvn_pagelock()
9335 vpage = &svd->vpage[seg_page(seg, a)]; in segvn_pagelock()
9337 vpage = NULL; in segvn_pagelock()
9344 vpage, &pp, 0, F_INVAL, rw, 1); in segvn_pagelock()
9651 struct vpage *vpage; in sameprot() local
9658 ASSERT(svd->vpage != NULL); in sameprot()
9660 vpage = &svd->vpage[seg_page(seg, a)]; in sameprot()
9661 prot = VPP_PROT(vpage); in sameprot()
9662 vpage++; in sameprot()
9665 if (prot != VPP_PROT(vpage)) in sameprot()
9667 vpage++; in sameprot()