Lines Matching refs:p
52 dtrace_ptss_claim_entry_locked(struct proc* p) in dtrace_ptss_claim_entry_locked() argument
54 LCK_MTX_ASSERT(&p->p_dtrace_sprlock, LCK_MTX_ASSERT_OWNED); in dtrace_ptss_claim_entry_locked()
59 struct dtrace_ptss_page_entry* temp = p->p_dtrace_ptss_free_list; in dtrace_ptss_claim_entry_locked()
63 struct dtrace_ptss_page* page = dtrace_ptss_allocate_page(p); in dtrace_ptss_claim_entry_locked()
71 page->next = p->p_dtrace_ptss_pages; in dtrace_ptss_claim_entry_locked()
72 p->p_dtrace_ptss_pages = page; in dtrace_ptss_claim_entry_locked()
76 page->entries[DTRACE_PTSS_ENTRIES_PER_PAGE - 1].next = p->p_dtrace_ptss_free_list; in dtrace_ptss_claim_entry_locked()
79 (void * volatile *)&p->p_dtrace_ptss_free_list)); in dtrace_ptss_claim_entry_locked()
86 …if (!OSCompareAndSwapPtr((void *)temp, (void *)temp->next, (void * volatile *)&p->p_dtrace_ptss_fr… in dtrace_ptss_claim_entry_locked()
103 dtrace_ptss_claim_entry(struct proc* p) in dtrace_ptss_claim_entry() argument
106 LCK_MTX_ASSERT(&p->p_dtrace_sprlock, LCK_MTX_ASSERT_NOTOWNED); in dtrace_ptss_claim_entry()
107 LCK_MTX_ASSERT(&p->p_mlock, LCK_MTX_ASSERT_NOTOWNED); in dtrace_ptss_claim_entry()
112 struct dtrace_ptss_page_entry* temp = p->p_dtrace_ptss_free_list; in dtrace_ptss_claim_entry()
115 lck_mtx_lock(&p->p_dtrace_sprlock); in dtrace_ptss_claim_entry()
116 temp = dtrace_ptss_claim_entry_locked(p); in dtrace_ptss_claim_entry()
117 lck_mtx_unlock(&p->p_dtrace_sprlock); in dtrace_ptss_claim_entry()
122 …if (!OSCompareAndSwapPtr((void *)temp, (void *)temp->next, (void * volatile *)&p->p_dtrace_ptss_fr… in dtrace_ptss_claim_entry()
143 dtrace_ptss_release_entry(struct proc* p, struct dtrace_ptss_page_entry* e) in dtrace_ptss_release_entry() argument
145 if (p && p->p_dtrace_ptss_pages && e) { in dtrace_ptss_release_entry()
147 e->next = p->p_dtrace_ptss_free_list; in dtrace_ptss_release_entry()
148 …} while (!OSCompareAndSwapPtr((void *)e->next, (void *)e, (void * volatile *)&p->p_dtrace_ptss_fre… in dtrace_ptss_release_entry()
162 dtrace_ptss_allocate_page(struct proc* p) in dtrace_ptss_allocate_page() argument
171 task_t task = proc_task(p); in dtrace_ptss_allocate_page()
262 dtrace_ptss_free_page(struct proc* p, struct dtrace_ptss_page* ptss_page) in dtrace_ptss_free_page() argument
265 task_t task = proc_task(p); in dtrace_ptss_free_page()
285 dtrace_ptss_enable(struct proc* p) in dtrace_ptss_enable() argument
287 LCK_MTX_ASSERT(&p->p_dtrace_sprlock, LCK_MTX_ASSERT_OWNED); in dtrace_ptss_enable()
288 LCK_MTX_ASSERT(&p->p_mlock, LCK_MTX_ASSERT_OWNED); in dtrace_ptss_enable()
296 TAILQ_FOREACH(uth, &p->p_uthlist, uu_list) { in dtrace_ptss_enable()
297 uth->t_dtrace_scratch = dtrace_ptss_claim_entry_locked(p); in dtrace_ptss_enable()
307 dtrace_ptss_exec_exit(struct proc* p) in dtrace_ptss_exec_exit() argument
313 LCK_MTX_ASSERT(&p->p_dtrace_sprlock, LCK_MTX_ASSERT_OWNED); in dtrace_ptss_exec_exit()
314 LCK_MTX_ASSERT(&p->p_mlock, LCK_MTX_ASSERT_NOTOWNED); in dtrace_ptss_exec_exit()
316 p->p_dtrace_ptss_free_list = NULL; in dtrace_ptss_exec_exit()
318 struct dtrace_ptss_page* temp = p->p_dtrace_ptss_pages; in dtrace_ptss_exec_exit()
319 p->p_dtrace_ptss_pages = NULL; in dtrace_ptss_exec_exit()