Lines Matching defs:p
133 * The p->p_lock must be held across the call.
137 task_lwps_usage(rctl_t *r, proc_t *p)
142 ASSERT(MUTEX_HELD(&p->p_lock));
144 t = p->p_task;
145 mutex_enter(&p->p_zone->zone_nlwps_lock);
147 mutex_exit(&p->p_zone->zone_nlwps_lock);
164 * p->p_lock must be held across the call.
168 task_lwps_test(rctl_t *r, proc_t *p, rctl_entity_p_t *e, rctl_val_t *rcntl,
174 ASSERT(MUTEX_HELD(&p->p_lock));
190 task_lwps_set(rctl_t *rctl, struct proc *p, rctl_entity_p_t *e, rctl_qty_t nv) {
192 ASSERT(MUTEX_HELD(&p->p_lock));
203 task_nprocs_usage(rctl_t *r, proc_t *p)
208 ASSERT(MUTEX_HELD(&p->p_lock));
210 t = p->p_task;
211 mutex_enter(&p->p_zone->zone_nlwps_lock);
213 mutex_exit(&p->p_zone->zone_nlwps_lock);
220 task_nprocs_test(rctl_t *r, proc_t *p, rctl_entity_p_t *e, rctl_val_t *rcntl,
225 ASSERT(MUTEX_HELD(&p->p_lock));
241 task_nprocs_set(rctl_t *rctl, struct proc *p, rctl_entity_p_t *e,
244 ASSERT(MUTEX_HELD(&p->p_lock));
268 task_cpu_time_usage(rctl_t *r, proc_t *p)
270 task_t *t = p->p_task;
272 ASSERT(MUTEX_HELD(&p->p_lock));
324 task_cpu_time_test(rctl_t *r, proc_t *p, rctl_entity_p_t *e,
327 ASSERT(MUTEX_HELD(&p->p_lock));
562 panic("unable to insert task %d(%p)", tkid, (void *)tk);
583 * pidlock and p->p_lock must be held on entry.
586 task_attach(task_t *tk, proc_t *p)
590 ASSERT(p != NULL);
592 ASSERT(MUTEX_HELD(&p->p_lock));
595 p->p_tasknext = p;
596 p->p_taskprev = p;
600 first->p_taskprev = p;
601 p->p_tasknext = first;
602 p->p_taskprev = prev;
603 prev->p_tasknext = p;
605 tk->tk_memb_list = p;
607 p->p_task = tk;
624 task_begin(task_t *tk, proc_t *p)
631 ASSERT(MUTEX_HELD(&p->p_lock));
643 task_attach(tk, p);
651 (void) rctl_set_dup(NULL, NULL, p, &e, tk->tk_rctls, NULL,
676 task_detach(proc_t *p)
678 task_t *tk = p->p_task;
681 ASSERT(MUTEX_HELD(&p->p_lock));
682 ASSERT(p->p_task != NULL);
685 if (tk->tk_memb_list == p)
686 tk->tk_memb_list = p->p_tasknext;
687 if (tk->tk_memb_list == p)
689 p->p_taskprev->p_tasknext = p->p_tasknext;
690 p->p_tasknext->p_taskprev = p->p_taskprev;
692 rctl_set_tearoff(p->p_task->tk_rctls, p);
693 rctl_set_tearoff(p->p_task->tk_proj->kpj_rctls, p);
695 p->p_task = NULL;
696 p->p_tasknext = p->p_taskprev = NULL;
714 task_change(task_t *newtk, proc_t *p)
716 task_t *oldtk = p->p_task;
719 ASSERT(MUTEX_HELD(&p->p_lock));
724 oldtk->tk_nlwps -= p->p_lwpcnt;
729 newtk->tk_nlwps += p->p_lwpcnt;
733 task_detach(p);
734 task_begin(newtk, p);
735 exacct_move_mstate(p, oldtk, newtk);
773 changeproj(proc_t *p, kproject_t *kpj, zone_t *zone, void *projbuf,
780 ASSERT(MUTEX_HELD(&p->p_lock));
782 if ((t = p->p_tlist) != NULL) {
809 } while ((t = t->t_forw) != p->p_tlist);
835 proc_t *p = ttoproc(curthread);
846 ASSERT(curthread == p->p_agenttp || p->p_lwprcnt == 1);
859 mutex_enter(&p->p_crlock);
860 if (crgetprojid(p->p_cred) == projid)
863 crhold(oldcr = p->p_cred);
864 mutex_exit(&p->p_crlock);
871 mutex_enter(&p->p_crlock);
872 oldcr = p->p_cred;
873 p->p_cred = newcr;
874 mutex_exit(&p->p_crlock);
888 mutex_enter(&p->p_lock);
890 prev_tk = p->p_task;
891 task_change(tk, p);
896 changeproj(p, tk->tk_proj, zone, projbuf, zonebuf);
898 p->p_task->tk_flags |= TASK_FINAL;
949 proc_t *p = &p0;
995 task0p->tk_nlwps = p->p_lwpcnt;
1016 panic("unable to insert task %d(%p)", task0p->tk_tkid,
1021 task0p->tk_memb_list = p;
1029 p->p_task = task0p;
1030 p->p_taskprev = p->p_tasknext = p;