Lines Matching refs:pcp
227 prcommon_t *pcp = pnp->pr_pcommon; in propen() local
294 ASSERT(p == pcp->prc_proc); in propen()
307 pcp->prc_selfopens++; in propen()
312 if (pcp->prc_writers > pcp->prc_selfopens) { in propen()
318 pcp->prc_flags |= PRC_EXCL; in propen()
319 } else if (pcp->prc_flags & PRC_EXCL) { in propen()
320 ASSERT(pcp->prc_writers > pcp->prc_selfopens); in propen()
325 pcp->prc_writers++; in propen()
335 pcp->prc_selfopens++; in propen()
336 ASSERT(pcp->prc_selfopens <= pcp->prc_writers); in propen()
337 if (pcp->prc_selfopens == pcp->prc_writers) in propen()
338 pcp->prc_flags &= ~PRC_EXCL; in propen()
420 prcommon_t *pcp = pnp->pr_pcommon; in prclose() local
475 ASSERT(pcp->prc_selfopens != 0); in prclose()
476 --pcp->prc_selfopens; in prclose()
478 ASSERT(pcp->prc_writers != 0); in prclose()
479 if (--pcp->prc_writers == pcp->prc_selfopens) in prclose()
480 pcp->prc_flags &= ~PRC_EXCL; in prclose()
482 ASSERT(pcp->prc_writers >= pcp->prc_selfopens); in prclose()
493 ASSERT(p == pcp->prc_proc); in prclose()
522 if (pcp->prc_writers == 0 && in prclose()
524 !(pcp->prc_flags & PRC_DESTROY) && in prclose()
2779 prcommon_t *pcp; in prgetattr() local
2898 pcp = pnp->pr_common; in prgetattr()
2907 pmkino(pcp->prc_tslot, pcp->prc_slot, pnp->pr_type); in prgetattr()
2908 if ((pcp->prc_flags & PRC_LWP) && pcp->prc_tslot != -1) { in prgetattr()
2911 p->p_lwpdir[pcp->prc_tslot].ld_entry->le_start; in prgetattr()
3141 if ((t = pcp->prc_thread) == NULL) { in prgetattr()
3449 prcommon_t *pcp; in pr_lookup_procdir() local
3513 pcp = pnp->pr_common; /* the newly-allocated prcommon struct */ in pr_lookup_procdir()
3516 prfreecommon(pcp); in pr_lookup_procdir()
3517 pcp = VTOP(vp)->pr_common; in pr_lookup_procdir()
3518 mutex_enter(&pcp->prc_mutex); in pr_lookup_procdir()
3519 ASSERT(pcp->prc_refcnt > 0); in pr_lookup_procdir()
3520 pcp->prc_refcnt++; in pr_lookup_procdir()
3521 mutex_exit(&pcp->prc_mutex); in pr_lookup_procdir()
3522 pnp->pr_common = pcp; in pr_lookup_procdir()
3526 pcp->prc_flags |= PRC_SYS; in pr_lookup_procdir()
3528 pcp->prc_flags |= PRC_DESTROY; in pr_lookup_procdir()
3529 pcp->prc_proc = p; in pr_lookup_procdir()
3530 pcp->prc_datamodel = p->p_model; in pr_lookup_procdir()
3531 pcp->prc_pid = p->p_pid; in pr_lookup_procdir()
3532 pcp->prc_slot = p->p_slot; in pr_lookup_procdir()
3534 pnp->pr_pcommon = pcp; in pr_lookup_procdir()
3549 pnp->pr_ino = ptoi(pcp->prc_pid); in pr_lookup_procdir()
3550 pnp->pr_common = pcp; in pr_lookup_procdir()
3551 pnp->pr_pcommon = pcp; in pr_lookup_procdir()
3760 prcommon_t *pcp; in pr_lookup_lwpdir() local
3842 pcp = pnp->pr_common; /* the newly-allocated prcommon struct */ in pr_lookup_lwpdir()
3845 prfreecommon(pcp); in pr_lookup_lwpdir()
3846 pcp = VTOP(vp)->pr_common; in pr_lookup_lwpdir()
3847 mutex_enter(&pcp->prc_mutex); in pr_lookup_lwpdir()
3848 ASSERT(pcp->prc_refcnt > 0); in pr_lookup_lwpdir()
3849 pcp->prc_refcnt++; in pr_lookup_lwpdir()
3850 mutex_exit(&pcp->prc_mutex); in pr_lookup_lwpdir()
3851 pnp->pr_common = pcp; in pr_lookup_lwpdir()
3854 pcp->prc_flags |= PRC_LWP; in pr_lookup_lwpdir()
3856 pcp->prc_flags |= PRC_SYS; in pr_lookup_lwpdir()
3858 pcp->prc_flags |= PRC_DESTROY; in pr_lookup_lwpdir()
3859 pcp->prc_proc = p; in pr_lookup_lwpdir()
3860 pcp->prc_datamodel = dpnp->pr_pcommon->prc_datamodel; in pr_lookup_lwpdir()
3861 pcp->prc_pid = p->p_pid; in pr_lookup_lwpdir()
3862 pcp->prc_slot = p->p_slot; in pr_lookup_lwpdir()
3863 pcp->prc_thread = t; in pr_lookup_lwpdir()
3864 pcp->prc_tid = tid; in pr_lookup_lwpdir()
3865 pcp->prc_tslot = tslot; in pr_lookup_lwpdir()
4365 prcommon_t *pcp; in prlwpnode() local
4399 pcp = VTOP(dp)->pr_common; in prlwpnode()
4400 pnp->pr_ino = ptoi(pcp->prc_pid); in prlwpnode()
4401 pnp->pr_common = pcp; in prlwpnode()
4413 } else if (pcp->prc_thread == NULL) { in prlwpnode()
4449 prcommon_t *pcp; in prgetnode() local
4476 pcp = kmem_zalloc(sizeof (prcommon_t), KM_SLEEP); in prgetnode()
4477 pcp->prc_refcnt = 1; in prgetnode()
4478 pnp->pr_common = pcp; in prgetnode()
4479 mutex_init(&pcp->prc_mutex, NULL, MUTEX_DEFAULT, NULL); in prgetnode()
4480 cv_init(&pcp->prc_wait, NULL, CV_DEFAULT, NULL); in prgetnode()
4614 prfreecommon(prcommon_t *pcp) in prfreecommon() argument
4616 mutex_enter(&pcp->prc_mutex); in prfreecommon()
4617 ASSERT(pcp->prc_refcnt > 0); in prfreecommon()
4618 if (--pcp->prc_refcnt != 0) in prfreecommon()
4619 mutex_exit(&pcp->prc_mutex); in prfreecommon()
4621 mutex_exit(&pcp->prc_mutex); in prfreecommon()
4622 ASSERT(pcp->prc_pollhead.ph_list == NULL); in prfreecommon()
4623 ASSERT(pcp->prc_refcnt == 0); in prfreecommon()
4624 ASSERT(pcp->prc_selfopens == 0 && pcp->prc_writers == 0); in prfreecommon()
4625 mutex_destroy(&pcp->prc_mutex); in prfreecommon()
4626 cv_destroy(&pcp->prc_wait); in prfreecommon()
4627 kmem_free(pcp, sizeof (prcommon_t)); in prfreecommon()
5134 prcommon_t *pcp = pnp->pr_common; in pr_readdir_lwpiddir() local
5135 int zombie = ((pcp->prc_flags & PRC_DESTROY) != 0); in pr_readdir_lwpiddir()
5149 if (pcp->prc_proc == NULL || pcp->prc_tslot == -1) in pr_readdir_lwpiddir()
5159 pslot = pcp->prc_slot; in pr_readdir_lwpiddir()
5160 tslot = pcp->prc_tslot; in pr_readdir_lwpiddir()
5179 pcp->prc_datamodel != DATAMODEL_LP64) in pr_readdir_lwpiddir()
5915 prcommon_t *pcp = pnp->pr_common; in prpoll() local
5916 pollhead_t *php = &pcp->prc_pollhead; in prpoll()
5931 ASSERT(pnp->pr_common == pcp); in prpoll()
5978 p = pcp->prc_proc; in prpoll()
6001 if (pcp->prc_flags & PRC_LWP) { in prpoll()
6002 t = pcp->prc_thread; in prpoll()
6023 pcp->prc_flags |= PRC_POLL; in prpoll()