Lines Matching refs:fprc
312 fasttrap_scraddr(struct thread *td, fasttrap_proc_t *fprc) in fasttrap_scraddr() argument
329 mutex_enter(&fprc->ftpc_mtx); in fasttrap_scraddr()
330 if (LIST_EMPTY(&fprc->ftpc_fscr)) { in fasttrap_scraddr()
345 LIST_INSERT_HEAD(&fprc->ftpc_scrblks, scrblk, ftsb_next); in fasttrap_scraddr()
355 LIST_INSERT_HEAD(&fprc->ftpc_fscr, scrspc, in fasttrap_scraddr()
364 scrspc = LIST_FIRST(&fprc->ftpc_fscr); in fasttrap_scraddr()
366 LIST_INSERT_HEAD(&fprc->ftpc_ascr, scrspc, ftss_next); in fasttrap_scraddr()
374 mutex_exit(&fprc->ftpc_mtx); in fasttrap_scraddr()
387 fasttrap_proc_t *fprc; in fasttrap_thread_dtor() local
396 fprc = NULL; in fasttrap_thread_dtor()
400 for (fprc = bucket->ftb_data; fprc != NULL; fprc = fprc->ftpc_next) { in fasttrap_thread_dtor()
401 if (fprc->ftpc_pid == pid) { in fasttrap_thread_dtor()
402 mutex_enter(&fprc->ftpc_mtx); in fasttrap_thread_dtor()
407 if (fprc == NULL) { in fasttrap_thread_dtor()
414 LIST_INSERT_HEAD(&fprc->ftpc_fscr, scrspc, ftss_next); in fasttrap_thread_dtor()
416 mutex_exit(&fprc->ftpc_mtx); in fasttrap_thread_dtor()
587 fasttrap_proc_t *fprc = NULL; in fasttrap_fork() local
666 fprc = tp->ftt_proc; in fasttrap_fork()
677 if (fprc != NULL) { in fasttrap_fork()
678 mutex_enter(&fprc->ftpc_mtx); in fasttrap_fork()
679 LIST_FOREACH(scrblk, &fprc->ftpc_scrblks, ftsb_next) { in fasttrap_fork()
685 mutex_exit(&fprc->ftpc_mtx); in fasttrap_fork()
1458 fasttrap_proc_t *fprc, *new_fprc; in fasttrap_proc_lookup() local
1464 for (fprc = bucket->ftb_data; fprc != NULL; fprc = fprc->ftpc_next) { in fasttrap_proc_lookup()
1465 if (fprc->ftpc_pid == pid && fprc->ftpc_acount != 0) { in fasttrap_proc_lookup()
1466 mutex_enter(&fprc->ftpc_mtx); in fasttrap_proc_lookup()
1468 fprc->ftpc_rcount++; in fasttrap_proc_lookup()
1469 atomic_inc_64(&fprc->ftpc_acount); in fasttrap_proc_lookup()
1470 ASSERT(fprc->ftpc_acount <= fprc->ftpc_rcount); in fasttrap_proc_lookup()
1471 mutex_exit(&fprc->ftpc_mtx); in fasttrap_proc_lookup()
1473 return (fprc); in fasttrap_proc_lookup()
1498 for (fprc = bucket->ftb_data; fprc != NULL; fprc = fprc->ftpc_next) { in fasttrap_proc_lookup()
1499 if (fprc->ftpc_pid == pid && fprc->ftpc_acount != 0) { in fasttrap_proc_lookup()
1500 mutex_enter(&fprc->ftpc_mtx); in fasttrap_proc_lookup()
1502 fprc->ftpc_rcount++; in fasttrap_proc_lookup()
1503 atomic_inc_64(&fprc->ftpc_acount); in fasttrap_proc_lookup()
1504 ASSERT(fprc->ftpc_acount <= fprc->ftpc_rcount); in fasttrap_proc_lookup()
1505 mutex_exit(&fprc->ftpc_mtx); in fasttrap_proc_lookup()
1509 return (fprc); in fasttrap_proc_lookup()
1525 fasttrap_proc_t *fprc, **fprcp; in fasttrap_proc_release() local
1581 while ((fprc = *fprcp) != NULL) { in fasttrap_proc_release()
1582 if (fprc == proc) in fasttrap_proc_release()
1585 fprcp = &fprc->ftpc_next; in fasttrap_proc_release()
1591 ASSERT(fprc != NULL); in fasttrap_proc_release()
1593 *fprcp = fprc->ftpc_next; in fasttrap_proc_release()
1597 kmem_free(fprc, sizeof (fasttrap_proc_t)); in fasttrap_proc_release()