Lines Matching refs:shmd
425 struct shm_data *shmd = (struct shm_data *)seg->s_data; in segspt_shmincore() local
433 sptseg = shmd->shm_sptseg; in segspt_shmincore()
446 struct anon_map *amp = shmd->shm_amp; in segspt_shmincore()
459 if (anon_index + npages > btopr(shmd->shm_amp->size)) { in segspt_shmincore()
478 if (shmd->shm_vpage[anon_index] & DISM_PG_LOCKED) { in segspt_shmincore()
975 struct shm_data *shmd = (struct shm_data *)seg->s_data; in segspt_dismpagelock() local
976 struct seg *sptseg = shmd->shm_sptseg; in segspt_dismpagelock()
1029 shmd->shm_softlockcnt > 0)) { in segspt_dismpagelock()
1242 atomic_inc_ulong((ulong_t *)(&(shmd->shm_softlockcnt))); in segspt_dismpagelock()
1302 if (shmd->shm_softlockcnt <= 0) { in segspt_dismpagelock()
1331 struct shm_data *shmd = (struct shm_data *)seg->s_data; in segspt_shmpagelock() local
1332 struct seg *sptseg = shmd->shm_sptseg; in segspt_shmpagelock()
1388 if (AS_ISUNMAPWAIT(seg->s_as) && (shmd->shm_softlockcnt > 0)) { in segspt_shmpagelock()
1521 atomic_inc_ulong((ulong_t *)(&(shmd->shm_softlockcnt))); in segspt_shmpagelock()
1559 if (shmd->shm_softlockcnt <= 0) { in segspt_shmpagelock()
1587 struct shm_data *shmd = (struct shm_data *)seg->s_data; in segspt_reclaim() local
1596 sptseg = shmd->shm_sptseg; in segspt_reclaim()
1667 mutex_enter(&shmd->shm_segfree_syncmtx); in segspt_reclaim()
1672 ASSERT(shmd->shm_softlockcnt > 0); in segspt_reclaim()
1673 atomic_dec_ulong((ulong_t *)(&(shmd->shm_softlockcnt))); in segspt_reclaim()
1675 if (shmd->shm_softlockcnt <= 0) { in segspt_reclaim()
1689 mutex_exit(&shmd->shm_segfree_syncmtx); in segspt_reclaim()
1725 struct shm_data *shmd = (struct shm_data *)seg->s_data; in segspt_softunlock() local
1739 sptseg = shmd->shm_sptseg; in segspt_softunlock()
1798 ASSERT(shmd->shm_softlockcnt >= npages); in segspt_softunlock()
1799 atomic_add_long((ulong_t *)(&(shmd->shm_softlockcnt)), -npages); in segspt_softunlock()
1800 if (shmd->shm_softlockcnt == 0) { in segspt_softunlock()
1824 struct shm_data *shmd; in segspt_shmattach() local
1831 shmd = kmem_zalloc((sizeof (*shmd)), KM_NOSLEEP); in segspt_shmattach()
1832 if (shmd == NULL) in segspt_shmattach()
1835 shmd->shm_sptas = shmd_arg->shm_sptas; in segspt_shmattach()
1836 shmd->shm_amp = shm_amp; in segspt_shmattach()
1837 shmd->shm_sptseg = shmd_arg->shm_sptseg; in segspt_shmattach()
1842 mutex_init(&shmd->shm_segfree_syncmtx, NULL, MUTEX_DEFAULT, NULL); in segspt_shmattach()
1844 seg->s_data = (void *)shmd; in segspt_shmattach()
1846 seg->s_szc = shmd->shm_sptseg->s_szc; in segspt_shmattach()
1847 sptd = shmd->shm_sptseg->s_data; in segspt_shmattach()
1850 if ((shmd->shm_vpage = kmem_zalloc(btopr(shm_amp->size), in segspt_shmattach()
1853 kmem_free(shmd, (sizeof (*shmd))); in segspt_shmattach()
1856 shmd->shm_lckpgs = 0; in segspt_shmattach()
1861 kmem_free(shmd->shm_vpage, in segspt_shmattach()
1873 kmem_free(shmd, (sizeof (*shmd))); in segspt_shmattach()
1885 struct shm_data *shmd = (struct shm_data *)seg->s_data; in segspt_shmunmap() local
1890 if (shmd->shm_softlockcnt > 0) { in segspt_shmunmap()
1907 (void) segspt_shmlockop(seg, raddr, shmd->shm_amp->size, 0, MC_UNLOCK, in segspt_shmunmap()
1919 struct shm_data *shmd = (struct shm_data *)seg->s_data; in segspt_shmfree() local
1920 struct anon_map *shm_amp = shmd->shm_amp; in segspt_shmfree()
1935 if (shmd->shm_vpage) { /* only for DISM */ in segspt_shmfree()
1936 kmem_free(shmd->shm_vpage, btopr(shm_amp->size)); in segspt_shmfree()
1937 shmd->shm_vpage = NULL; in segspt_shmfree()
1944 ASSERT(shmd->shm_softlockcnt == 0); in segspt_shmfree()
1945 mutex_enter(&shmd->shm_segfree_syncmtx); in segspt_shmfree()
1946 mutex_destroy(&shmd->shm_segfree_syncmtx); in segspt_shmfree()
1948 kmem_free(shmd, sizeof (*shmd)); in segspt_shmfree()
1973 struct shm_data *shmd = (struct shm_data *)seg->s_data; in segspt_dismfault() local
1974 struct seg *sptseg = shmd->shm_sptseg; in segspt_dismfault()
1975 struct as *curspt = shmd->shm_sptas; in segspt_dismfault()
2041 atomic_add_long((ulong_t *)(&(shmd->shm_softlockcnt)), npages); in segspt_dismfault()
2058 &(shmd->shm_softlockcnt)), -npages); in segspt_dismfault()
2156 struct shm_data *shmd = (struct shm_data *)seg->s_data; in segspt_shmfault() local
2157 struct seg *sptseg = shmd->shm_sptseg; in segspt_shmfault()
2158 struct as *curspt = shmd->shm_sptas; in segspt_shmfault()
2247 atomic_add_long((ulong_t *)(&(shmd->shm_softlockcnt)), npages); in segspt_shmfault()
2409 struct shm_data *shmd = (struct shm_data *)seg->s_data; in segspt_shmdup() local
2410 struct anon_map *amp = shmd->shm_amp; in segspt_shmdup()
2412 struct seg *spt_seg = shmd->shm_sptseg; in segspt_shmdup()
2420 shmd_new->shm_sptas = shmd->shm_sptas; in segspt_shmdup()
2422 shmd_new->shm_sptseg = shmd->shm_sptseg; in segspt_shmdup()
2425 ASSERT(seg->s_szc == shmd->shm_sptseg->s_szc); in segspt_shmdup()
2436 newseg->s_base, shmd->shm_sptas->a_hat, SEGSPTADDR, in segspt_shmdup()
2445 shmd->shm_sptas->a_hat, SEGSPTADDR, seg->s_size, in segspt_shmdup()
2455 struct shm_data *shmd = (struct shm_data *)seg->s_data; in segspt_shmcheckprot() local
2456 struct spt_data *sptd = (struct spt_data *)shmd->shm_sptseg->s_data; in segspt_shmcheckprot()
2632 struct shm_data *shmd = seg->s_data; in spt_lockpages() local
2633 struct spt_data *sptd = shmd->shm_sptseg->s_data; in spt_lockpages()
2673 if (!(shmd->shm_vpage[anon_index] & DISM_PG_LOCKED)) { in spt_lockpages()
2697 shmd->shm_lckpgs++; in spt_lockpages()
2698 shmd->shm_vpage[anon_index] |= DISM_PG_LOCKED; in spt_lockpages()
2719 struct shm_data *shmd = seg->s_data; in spt_unlockpages() local
2720 struct spt_data *sptd = shmd->shm_sptseg->s_data; in spt_unlockpages()
2734 if (shmd->shm_vpage[anon_index] & DISM_PG_LOCKED) { in spt_unlockpages()
2762 shmd->shm_vpage[anon_index] &= ~DISM_PG_LOCKED; in spt_unlockpages()
2764 shmd->shm_lckpgs--; in spt_unlockpages()
2792 struct shm_data *shmd = seg->s_data; in segspt_shmlockop() local
2793 struct seg *sptseg = shmd->shm_sptseg; in segspt_shmlockop()
2820 if (an_idx + npages > btopr(shmd->shm_amp->size)) { in segspt_shmlockop()
2906 if (shmd->shm_lckpgs == 0) { in segspt_shmlockop()
2935 struct shm_data *shmd = (struct shm_data *)seg->s_data; in segspt_shmgetprot() local
2936 struct spt_data *sptd = (struct spt_data *)shmd->shm_sptseg->s_data; in segspt_shmgetprot()
2964 struct shm_data *shmd = (struct shm_data *)seg->s_data; in segspt_shmgettype() local
2965 struct spt_data *sptd = (struct spt_data *)shmd->shm_sptseg->s_data; in segspt_shmgettype()
2981 struct shm_data *shmd = (struct shm_data *)seg->s_data; in segspt_shmgetvp() local
2982 struct spt_data *sptd = (struct spt_data *)shmd->shm_sptseg->s_data; in segspt_shmgetvp()
3001 struct shm_data *shmd = (struct shm_data *)seg->s_data; in segspt_shmadvise() local
3002 struct spt_data *sptd = (struct spt_data *)shmd->shm_sptseg->s_data; in segspt_shmadvise()
3045 atomic_inc_ulong((ulong_t *)(&(shmd->shm_softlockcnt))); in segspt_shmadvise()
3068 atomic_dec_ulong((ulong_t *)(&(shmd->shm_softlockcnt))); in segspt_shmadvise()
3069 if (shmd->shm_softlockcnt <= 0) { in segspt_shmadvise()
3091 struct seg *sptseg = shmd->shm_sptseg; in segspt_shmadvise()
3097 share_size = page_get_pagesize(shmd->shm_sptseg->s_szc); in segspt_shmadvise()
3102 amp = shmd->shm_amp; in segspt_shmadvise()
3136 if (shmd->shm_softlockcnt > 0) in segspt_shmadvise()
3165 struct shm_data *shmd = (struct shm_data *)seg->s_data; in segspt_shmgetmemid() local
3168 struct anon_map *amp = shmd->shm_amp; in segspt_shmgetmemid()
3169 struct spt_data *sptd = shmd->shm_sptseg->s_data; in segspt_shmgetmemid()
3170 struct seg *sptseg = shmd->shm_sptseg; in segspt_shmgetmemid()