Lines Matching refs:lwpchan

125 lwpsqhash(lwpchan_t *lwpchan)  in lwpsqhash()  argument
127 uint_t x = (uintptr_t)lwpchan->lc_wchan ^ (uintptr_t)lwpchan->lc_wchan0; in lwpsqhash()
136 lwpchan_lock(lwpchan_t *lwpchan, int pool) in lwpchan_lock() argument
138 uint_t x = (uintptr_t)lwpchan->lc_wchan ^ (uintptr_t)lwpchan->lc_wchan0; in lwpchan_lock()
147 lwpchan_unlock(lwpchan_t *lwpchan, int pool) in lwpchan_unlock() argument
149 uint_t x = (uintptr_t)lwpchan->lc_wchan ^ (uintptr_t)lwpchan->lc_wchan0; in lwpchan_unlock()
375 lwpchan_cache_mapping(caddr_t addr, int type, int pool, lwpchan_t *lwpchan, in lwpchan_cache_mapping() argument
394 *lwpchan = ent->lwpchan_lwpchan; in lwpchan_cache_mapping()
408 int type, lwpchan_t *lwpchan, int pool) in lwpchan_get_mapping() argument
431 if (lwpchan_cache_mapping(addr, type, pool, lwpchan, hashbucket) == 0) { in lwpchan_get_mapping()
439 lwpchan->lc_wchan0 = (caddr_t)(uintptr_t)memid.val[0]; in lwpchan_get_mapping()
440 lwpchan->lc_wchan = (caddr_t)(uintptr_t)memid.val[1]; in lwpchan_get_mapping()
449 count = lwpchan_cache_mapping(addr, type, pool, lwpchan, hashbucket); in lwpchan_get_mapping()
468 ent->lwpchan_lwpchan = *lwpchan; in lwpchan_get_mapping()
482 get_lwpchan(struct as *as, caddr_t addr, int type, lwpchan_t *lwpchan, int pool) in get_lwpchan() argument
492 lwpchan->lc_wchan0 = (caddr_t)as; in get_lwpchan()
493 lwpchan->lc_wchan = addr; in get_lwpchan()
497 return (lwpchan_get_mapping(as, addr, NULL, type, lwpchan, pool)); in get_lwpchan()
501 lwp_block(lwpchan_t *lwpchan) in lwp_block() argument
509 t->t_lwpchan = *lwpchan; in lwp_block()
512 sqh = lwpsqhash(lwpchan); in lwp_block()
636 lwpchan_t lwpchan; in lwp_upimutex_owned() local
641 &lwpchan, LWPCHAN_MPPOOL)) in lwp_upimutex_owned()
644 upibp = &UPI_CHAIN(lwpchan); in lwp_upimutex_owned()
646 upimutex = upi_get(upibp, &lwpchan); in lwp_upimutex_owned()
709 lwpchan_t lwpchan; in lwp_upimutex_lock() local
724 &lwpchan, LWPCHAN_MPPOOL)) { in lwp_upimutex_lock()
728 upibp = &UPI_CHAIN(lwpchan); in lwp_upimutex_lock()
731 upimutex = upi_get(upibp, &lwpchan); in lwp_upimutex_lock()
739 upimutex->upi_lwpchan = lwpchan; in lwp_upimutex_lock()
975 lwpchan_t lwpchan; in lwp_upimutex_unlock() local
988 &lwpchan, LWPCHAN_MPPOOL)) { in lwp_upimutex_unlock()
992 upibp = &UPI_CHAIN(lwpchan); in lwp_upimutex_unlock()
994 upimutex = upi_get(upibp, &lwpchan); in lwp_upimutex_unlock()
1159 lwpchan_t lwpchan; in lwp_mutex_timedlock() local
1190 lwpchan_unlock(&lwpchan, LWPCHAN_MPPOOL); in lwp_mutex_timedlock()
1214 &lwpchan, LWPCHAN_MPPOOL)) { in lwp_mutex_timedlock()
1218 lwpchan_lock(&lwpchan, LWPCHAN_MPPOOL); in lwp_mutex_timedlock()
1223 lwpchan_unlock(&lwpchan, LWPCHAN_MPPOOL); in lwp_mutex_timedlock()
1268 lwp_block(&lwpchan); in lwp_mutex_timedlock()
1276 lwpchan_unlock(&lwpchan, LWPCHAN_MPPOOL); in lwp_mutex_timedlock()
1306 lwpchan_lock(&lwpchan, LWPCHAN_MPPOOL); in lwp_mutex_timedlock()
1308 sqh = lwpsqhash(&lwpchan); in lwp_mutex_timedlock()
1310 waiters = iswanted(sqh->sq_queue.sq_first, &lwpchan); in lwp_mutex_timedlock()
1317 lwpchan_lock(&lwpchan, LWPCHAN_MPPOOL); in lwp_mutex_timedlock()
1349 lwpchan_unlock(&lwpchan, LWPCHAN_MPPOOL); in lwp_mutex_timedlock()
1362 iswanted(kthread_t *t, lwpchan_t *lwpchan) in iswanted() argument
1368 if (t->t_lwpchan.lc_wchan0 == lwpchan->lc_wchan0 && in iswanted()
1369 t->t_lwpchan.lc_wchan == lwpchan->lc_wchan) in iswanted()
1380 lwp_queue_waiter(lwpchan_t *lwpchan) in lwp_queue_waiter() argument
1385 sqh = lwpsqhash(lwpchan); in lwp_queue_waiter()
1388 if (tp->t_lwpchan.lc_wchan0 == lwpchan->lc_wchan0 && in lwp_queue_waiter()
1389 tp->t_lwpchan.lc_wchan == lwpchan->lc_wchan) in lwp_queue_waiter()
1397 lwp_release(lwpchan_t *lwpchan, uchar_t *waiters, int sync_type) in lwp_release() argument
1403 sqh = lwpsqhash(lwpchan); in lwp_release()
1407 if (tp->t_lwpchan.lc_wchan0 == lwpchan->lc_wchan0 && in lwp_release()
1408 tp->t_lwpchan.lc_wchan == lwpchan->lc_wchan) { in lwp_release()
1430 *waiters = iswanted(tp->t_link, lwpchan); in lwp_release()
1450 lwp_release_all(lwpchan_t *lwpchan) in lwp_release_all() argument
1456 sqh = lwpsqhash(lwpchan); in lwp_release_all()
1460 if (tp->t_lwpchan.lc_wchan0 == lwpchan->lc_wchan0 && in lwp_release_all()
1461 tp->t_lwpchan.lc_wchan == lwpchan->lc_wchan) { in lwp_release_all()
1484 lwpchan_t lwpchan; in lwp_mutex_wakeup() local
1499 lwpchan_unlock(&lwpchan, LWPCHAN_MPPOOL); in lwp_mutex_wakeup()
1511 &lwpchan, LWPCHAN_MPPOOL)) { in lwp_mutex_wakeup()
1515 lwpchan_lock(&lwpchan, LWPCHAN_MPPOOL); in lwp_mutex_wakeup()
1537 lwp_release_all(&lwpchan); in lwp_mutex_wakeup()
1538 else if (lwp_release(&lwpchan, &waiters, 0)) in lwp_mutex_wakeup()
1540 lwpchan_unlock(&lwpchan, LWPCHAN_MPPOOL); in lwp_mutex_wakeup()
1833 lwpchan_t lwpchan; in lwp_cond_signal() local
1848 lwpchan_unlock(&lwpchan, LWPCHAN_CVPOOL); in lwp_cond_signal()
1860 &lwpchan, LWPCHAN_CVPOOL)) { in lwp_cond_signal()
1864 lwpchan_lock(&lwpchan, LWPCHAN_CVPOOL); in lwp_cond_signal()
1878 (void) lwp_release(&lwpchan, &waiters, T_WAITCVSEM); in lwp_cond_signal()
1881 lwpchan_unlock(&lwpchan, LWPCHAN_CVPOOL); in lwp_cond_signal()
1898 lwpchan_t lwpchan; in lwp_cond_broadcast() local
1913 lwpchan_unlock(&lwpchan, LWPCHAN_CVPOOL); in lwp_cond_broadcast()
1925 &lwpchan, LWPCHAN_CVPOOL)) { in lwp_cond_broadcast()
1929 lwpchan_lock(&lwpchan, LWPCHAN_CVPOOL); in lwp_cond_broadcast()
1933 lwp_release_all(&lwpchan); in lwp_cond_broadcast()
1936 lwpchan_unlock(&lwpchan, LWPCHAN_CVPOOL); in lwp_cond_broadcast()
1956 lwpchan_t lwpchan; in lwp_sema_trywait() local
1967 lwpchan_unlock(&lwpchan, LWPCHAN_CVPOOL); in lwp_sema_trywait()
1979 &lwpchan, LWPCHAN_CVPOOL)) { in lwp_sema_trywait()
1983 lwpchan_lock(&lwpchan, LWPCHAN_CVPOOL); in lwp_sema_trywait()
1993 (void) lwp_release(&lwpchan, &waiters, T_WAITCVSEM); in lwp_sema_trywait()
1997 lwpchan_unlock(&lwpchan, LWPCHAN_CVPOOL); in lwp_sema_trywait()
2024 lwpchan_t lwpchan; in lwp_sema_timedwait() local
2051 lwpchan_unlock(&lwpchan, LWPCHAN_CVPOOL); in lwp_sema_timedwait()
2063 &lwpchan, LWPCHAN_CVPOOL)) { in lwp_sema_timedwait()
2067 lwpchan_lock(&lwpchan, LWPCHAN_CVPOOL); in lwp_sema_timedwait()
2106 lwp_block(&lwpchan); in lwp_sema_timedwait()
2114 lwpchan_unlock(&lwpchan, LWPCHAN_CVPOOL); in lwp_sema_timedwait()
2132 lwpchan_lock(&lwpchan, LWPCHAN_CVPOOL); in lwp_sema_timedwait()
2139 (void) lwp_release(&lwpchan, &waiters, T_WAITCVSEM); in lwp_sema_timedwait()
2142 lwpchan_unlock(&lwpchan, LWPCHAN_CVPOOL); in lwp_sema_timedwait()
2163 lwpchan_t lwpchan; in lwp_sema_post() local
2174 lwpchan_unlock(&lwpchan, LWPCHAN_CVPOOL); in lwp_sema_post()
2186 &lwpchan, LWPCHAN_CVPOOL)) { in lwp_sema_post()
2190 lwpchan_lock(&lwpchan, LWPCHAN_CVPOOL); in lwp_sema_post()
2200 (void) lwp_release(&lwpchan, &waiters, T_WAITCVSEM); in lwp_sema_post()
2204 lwpchan_unlock(&lwpchan, LWPCHAN_CVPOOL); in lwp_sema_post()
2236 lwp_rwlock_release(lwpchan_t *lwpchan, lwp_rwlock_t *rw) in lwp_rwlock_release() argument
2247 sqh = lwpsqhash(lwpchan); in lwp_rwlock_release()
2251 if (tp->t_lwpchan.lc_wchan0 == lwpchan->lc_wchan0 && in lwp_rwlock_release()
2252 tp->t_lwpchan.lc_wchan == lwpchan->lc_wchan) { in lwp_rwlock_release()
2324 lwpchan_t lwpchan; in lwp_rwlock_lock() local
2375 lwpchan_unlock(&lwpchan, LWPCHAN_CVPOOL); in lwp_rwlock_lock()
2427 &lwpchan, LWPCHAN_CVPOOL)) { in lwp_rwlock_lock()
2447 lwpchan_lock(&lwpchan, LWPCHAN_CVPOOL); in lwp_rwlock_lock()
2475 tp = lwp_queue_waiter(&lwpchan); in lwp_rwlock_lock()
2523 lwpchan_unlock(&lwpchan, LWPCHAN_CVPOOL); in lwp_rwlock_lock()
2607 lwp_block(&lwpchan); in lwp_rwlock_lock()
2616 lwpchan_unlock(&lwpchan, LWPCHAN_CVPOOL); in lwp_rwlock_lock()
2697 lwpchan_t lwpchan; in lwp_rwlock_unlock() local
2717 lwpchan_unlock(&lwpchan, LWPCHAN_CVPOOL); in lwp_rwlock_unlock()
2739 &lwpchan, LWPCHAN_CVPOOL)) { in lwp_rwlock_unlock()
2747 lwpchan_lock(&lwpchan, LWPCHAN_CVPOOL); in lwp_rwlock_unlock()
2758 lwp_rwlock_release(&lwpchan, rw); in lwp_rwlock_unlock()
2762 lwp_rwlock_release(&lwpchan, rw); in lwp_rwlock_unlock()
2767 lwpchan_unlock(&lwpchan, LWPCHAN_CVPOOL); in lwp_rwlock_unlock()
2889 lwpchan_t lwpchan = ent->lwpchan_lwpchan; in lwp_mutex_cleanup() local
2890 upib_t *upibp = &UPI_CHAIN(lwpchan); in lwp_mutex_cleanup()
2895 upimutex = upi_get(upibp, &lwpchan); in lwp_mutex_cleanup()
2965 lwpchan_t lwpchan; in lwp_mutex_register() local
2986 uaddr, type, &lwpchan, LWPCHAN_MPPOOL)) { in lwp_mutex_register()
3025 lwpchan_t lwpchan; in lwp_mutex_trylock() local
3034 lwpchan_unlock(&lwpchan, LWPCHAN_MPPOOL); in lwp_mutex_trylock()
3056 &lwpchan, LWPCHAN_MPPOOL)) { in lwp_mutex_trylock()
3060 lwpchan_lock(&lwpchan, LWPCHAN_MPPOOL); in lwp_mutex_trylock()
3065 lwpchan_unlock(&lwpchan, LWPCHAN_MPPOOL); in lwp_mutex_trylock()
3090 lwpchan_unlock(&lwpchan, LWPCHAN_MPPOOL); in lwp_mutex_trylock()
3112 lwpchan_t lwpchan; in lwp_mutex_unlock() local
3126 lwpchan_unlock(&lwpchan, LWPCHAN_MPPOOL); in lwp_mutex_unlock()
3150 &lwpchan, LWPCHAN_MPPOOL)) { in lwp_mutex_unlock()
3154 lwpchan_lock(&lwpchan, LWPCHAN_MPPOOL); in lwp_mutex_unlock()
3189 lwp_release_all(&lwpchan); in lwp_mutex_unlock()
3191 } else if (lwp_release(&lwpchan, &waiters, 0)) { in lwp_mutex_unlock()
3196 lwpchan_unlock(&lwpchan, LWPCHAN_MPPOOL); in lwp_mutex_unlock()