/illumos-gate/usr/src/lib/libc/port/threads/ |
H A D | thr.c | 553 if (ulwp && ulwp->ul_dead) { in find_lwp() 632 ulwp->ul_self = ulwp; in _thrp_create() 1717 for (ulwp = udp->lwp_stacks; ulwp != NULL; ulwp = ulwp->ul_next) in postfork1_child() 1719 for (ulwp = udp->ulwp_freelist; ulwp != NULL; ulwp = ulwp->ul_next) in postfork1_child() 1904 while (ulwp && !ulwp->ul_dead && !ulwp->ul_stop && in safe_suspend() 1908 ulwp != NULL; ulwp = ulwp->ul_hash) { in safe_suspend() 2073 for (ulwp = self->ul_forw; ulwp != self; ulwp = ulwp->ul_forw) { in suspend_fork() 2105 for (ulwp = self->ul_forw; ulwp != self; ulwp = ulwp->ul_forw) { in continue_fork() 2116 for (ulwp = self->ul_forw; ulwp != self; ulwp = ulwp->ul_forw) { in continue_fork() 2796 for (ulwp = self->ul_forw; ulwp != self; ulwp = ulwp->ul_forw) { in thr_suspend_allmutators() [all …]
|
H A D | pthread.c | 52 ulwp_t *ulwp; in _thr_setinherit() local 68 ulwp_t *ulwp; in _thr_setparam() local 77 ulwp->ul_epri != 0) { in _thr_setparam() 82 if (prio > ulwp->ul_epri) in _thr_setparam() 85 ulwp->ul_pri = prio; in _thr_setparam() 91 ulwp->ul_cid = cid; in _thr_setparam() 92 ulwp->ul_pri = prio; in _thr_setparam() 161 ulwp->ul_detached = 1; in pthread_create() 232 ulwp_t *ulwp; in pthread_getschedparam() local 242 } else if (*policy == ulwp->ul_policy && cid == ulwp->ul_cid && in pthread_getschedparam() [all …]
|
H A D | synch.c | 509 ulwp_t *ulwp; in QVERIFY() local 530 for (prev = NULL, ulwp = qrp->qr_head; ulwp != NULL; in QVERIFY() 531 prev = ulwp, ulwp = ulwp->ul_link) { in QVERIFY() 609 #define CMP_PRIO(ulwp) ((real_priority(ulwp) << 1) + (ulwp)->ul_writer) argument 702 ulwp->ul_schedctl->sc_cid == ulwp->ul_rtclassid) | in enqueue() 718 ulwp_t *ulwp; in queue_slot_runnable() local 726 prev = ulwp, ulwpp = &ulwp->ul_link) { in queue_slot_runnable() 755 for (prev = ulwp, ulwpp = &ulwp->ul_link; in queue_slot_rt() 757 prev = ulwp, ulwpp = &ulwp->ul_link) { in queue_slot_rt() 785 ulwp_t *ulwp; in queue_slot() local [all …]
|
H A D | cancel.c | 40 ulwp_t *ulwp; in pthread_cancel() local 43 if ((ulwp = find_lwp(tid)) == NULL) in pthread_cancel() 46 if (ulwp->ul_cancel_pending) { in pthread_cancel() 50 ulwp_unlock(ulwp, udp); in pthread_cancel() 51 } else if (ulwp == self) { in pthread_cancel() 63 } else if (ulwp->ul_cancel_disabled) { in pthread_cancel() 71 ulwp->ul_cancel_pending = 1; in pthread_cancel() 72 ulwp_unlock(ulwp, udp); in pthread_cancel() 78 ulwp_unlock(ulwp, udp); in pthread_cancel()
|
H A D | sema.c | 134 ulwp_t *ulwp; in sema_wait_impl() local 165 if ((ulwp = dequeue(qp, &more)) != NULL) { in sema_wait_impl() 167 lwpid = ulwp->ul_lwpid; in sema_wait_impl() 252 ulwp_t *ulwp; in sema_trywait() local 260 if ((ulwp = dequeue(qp, &more)) != NULL) { in sema_trywait() 262 lwpid = ulwp->ul_lwpid; in sema_trywait() 319 ulwp_t *ulwp; in sema_post() local 327 if ((ulwp = dequeue(qp, &more)) != NULL) { in sema_post() 329 lwpid = ulwp->ul_lwpid; in sema_post()
|
H A D | rwlock.c | 121 rwl_free(ulwp_t *ulwp) in rwl_free() argument 127 ulwp->ul_rdlockcnt = 0; in rwl_free() 129 ulwp->ul_readlock.single.rd_count = 0; in rwl_free() 380 ulwp_t *ulwp; in rw_queue_release() local 437 ulwp = *ulwpp; in rw_queue_release() 438 ASSERT(ulwp->ul_wchan == rwlp); in rw_queue_release() 439 if (ulwp->ul_writer) { in rw_queue_release() 453 ulwp->ul_sleepq = NULL; in rw_queue_release() 454 ulwp->ul_wchan = NULL; in rw_queue_release() 463 lwpid[nlwpid++] = ulwp->ul_lwpid; in rw_queue_release() [all …]
|
H A D | tls.c | 433 tls_free(ulwp_t *ulwp) in tls_free() argument 441 if ((tlsent = ulwp->ul_tlsent) == NULL || in tls_free() 442 (ntlsent = ulwp->ul_ntlsent) == 0) in tls_free() 452 lfree(ulwp->ul_tlsent, ntlsent * sizeof (tls_t)); in tls_free() 453 ulwp->ul_tlsent = NULL; in tls_free() 454 ulwp->ul_ntlsent = 0; in tls_free()
|
H A D | tsd.c | 442 tsd_free(ulwp_t *ulwp) in tsd_free() argument 448 if ((stsd = ulwp->ul_stsd) != NULL) in tsd_free() 450 ulwp->ul_stsd = NULL; in tsd_free()
|
/illumos-gate/usr/src/cmd/mdb/common/modules/libc/ |
H A D | libc.c | 451 ulwp_t ulwp; in d_ulwp() local 456 if (mdb_vread(&ulwp, sizeof (ulwp), addr) != sizeof (ulwp) && in d_ulwp() 457 (bzero(&ulwp, sizeof (ulwp)), in d_ulwp() 509 ulwp.ul_ix, in d_ulwp() 511 ulwp.ul_pri, in d_ulwp() 512 ulwp.ul_epri, in d_ulwp() 514 ulwp.ul_cid); in d_ulwp() 556 ulwp.ul_rt, in d_ulwp() 947 ulwp_t ulwp; in ulwp_walk_step() local 951 if (mdb_vread(&ulwp, sizeof (ulwp), addr) != sizeof (ulwp) && in ulwp_walk_step() [all …]
|
H A D | findstack_subr.c | 185 stacks_ulwp_walk(uintptr_t addr, ulwp_t *ulwp, void *ignored) in stacks_ulwp_walk() argument 189 sulwp->sulwp_id = ulwp->ul_lwpid; in stacks_ulwp_walk() 193 mdb_warn("found multiple LWPs with ID %d!", ulwp->ul_lwpid); in stacks_ulwp_walk() 226 ulwp_t ulwp; in stacks_findstack() local 255 if (mdb_vread(&ulwp, sizeof (ulwp), sulwp->sulwp_addr) == -1) { in stacks_findstack() 261 fsip->fsi_tstate = ulwp.ul_sleepq != NULL; in stacks_findstack() 262 fsip->fsi_sobj_ops = (uintptr_t)(ulwp.ul_sleepq == NULL ? 0 : in stacks_findstack() 263 (ulwp.ul_qtype == MX ? STACKS_SOBJ_MX : STACKS_SOBJ_CV)); in stacks_findstack()
|
/illumos-gate/usr/src/lib/libc/sparc/threads/ |
H A D | machdep.c | 64 ulwp_t *ulwp, caddr_t stk, size_t stksize) in setup_context() argument 83 ucp->uc_mcontext.gregs[REG_O0] = (greg_t)ulwp; in setup_context() 86 ucp->uc_mcontext.gregs[REG_G7] = (greg_t)ulwp; in setup_context() 119 _fpinherit(ulwp_t *ulwp) in _fpinherit() argument 133 _getfsr(&ulwp->ul_fpuenv.fsr); in _fpinherit() 134 ulwp->ul_fpuenv.fpu_en = 1; in _fpinherit() 136 ulwp->ul_fpuenv.fpu_en = 0; in _fpinherit() 141 getgregs(ulwp_t *ulwp, gregset_t rs) in getgregs() argument 145 if (getlwpstatus(ulwp->ul_lwpid, &status) == 0) { in getgregs() 165 setgregs(ulwp_t *ulwp, gregset_t rs) in setgregs() argument [all …]
|
/illumos-gate/usr/src/lib/libc_db/common/ |
H A D | thread_db.c | 1013 ulwp_t ulwp; in __td_ta_thr_iter() local 1016 &ulwp, sizeof (ulwp)) != PS_OK && in __td_ta_thr_iter() 1017 ((void) memset(&ulwp, 0, sizeof (ulwp)), in __td_ta_thr_iter() 1040 &ulwp, sizeof (ulwp)) != PS_OK && in __td_ta_thr_iter() 1041 ((void) memset(&ulwp, 0, sizeof (ulwp)), in __td_ta_thr_iter() 1419 ulwp_t ulwp; in __td_thr_get_info() local 1421 if (ps_pdread(ph_p, psaddr, &ulwp, sizeof (ulwp)) != PS_OK && in __td_thr_get_info() 1422 ((void) memset(&ulwp, 0, sizeof (ulwp)), in __td_thr_get_info() 1429 ulwp32_t ulwp; in __td_thr_get_info() local 1431 if (ps_pdread(ph_p, psaddr, &ulwp, sizeof (ulwp)) != PS_OK && in __td_thr_get_info() [all …]
|
/illumos-gate/usr/src/lib/libc/amd64/threads/ |
H A D | machdep.c | 69 ulwp_t *ulwp, caddr_t stk, size_t stksize) in setup_context() argument 77 ucp->uc_mcontext.gregs[REG_FSBASE] = (greg_t)ulwp; in setup_context() 87 if ((stack = setup_top_frame(stk, stksize, ulwp)) == NULL) in setup_context() 92 ucp->uc_mcontext.gregs[REG_RDI] = (greg_t)ulwp; in setup_context() 123 _fpinherit(ulwp_t *ulwp) in _fpinherit() argument 125 ulwp->ul_fpuenv.ftag = 0xffffffff; in _fpinherit() 129 getgregs(ulwp_t *ulwp, gregset_t rs) in getgregs() argument 133 if (getlwpstatus(ulwp->ul_lwpid, &status) == 0) { in getgregs() 155 setgregs(ulwp_t *ulwp, gregset_t rs) in setgregs() argument 159 if (getlwpstatus(ulwp->ul_lwpid, &status) == 0) { in setgregs() [all …]
|
/illumos-gate/usr/src/lib/libc/i386/threads/ |
H A D | machdep.c | 49 setup_top_frame(void *stk, size_t stksize, ulwp_t *ulwp) in setup_top_frame() argument 80 frame.arg = (uint32_t)ulwp; in setup_top_frame() 89 ulwp_t *ulwp, caddr_t stk, size_t stksize) in setup_context() argument 126 ucp->uc_mcontext.gregs[ESP] = (greg_t)ulwp; in setup_context() 168 _fpinherit(ulwp_t *ulwp) in _fpinherit() argument 170 ulwp->ul_fpuenv.ftag = 0xffffffff; in _fpinherit() 174 getgregs(ulwp_t *ulwp, gregset_t rs) in getgregs() argument 178 if (getlwpstatus(ulwp->ul_lwpid, &status) == 0) { in getgregs() 196 setgregs(ulwp_t *ulwp, gregset_t rs) in setgregs() argument 200 if (getlwpstatus(ulwp->ul_lwpid, &status) == 0) { in setgregs() [all …]
|
/illumos-gate/usr/src/lib/libc/inc/ |
H A D | thr_uberdata.h | 369 struct ulwp *qr_head; 370 struct ulwp *qr_tail; 448 extern struct ulwp **queue_slot(queue_head_t *, struct ulwp **, int *); 452 struct ulwp **, struct ulwp *); 544 typedef struct ulwp { struct 1004 #define ulwp_mutex(ulwp, udp) \ argument 1006 #define ulwp_condvar(ulwp, udp) \ argument 1012 #define ulwp_lock(ulwp, udp) lmutex_lock(ulwp_mutex(ulwp, udp)) argument 1013 #define ulwp_unlock(ulwp, udp) lmutex_unlock(ulwp_mutex(ulwp, udp)) argument 1267 #define real_priority(ulwp) \ argument [all …]
|
H A D | tdb_agent.h | 264 #define __td_event_report(ulwp, event, udp) \ argument 265 (((ulwp)->ul_td_events_enable && \ 266 td_eventismember(&(ulwp)->ul_td_evbuf.eventmask, (event))) || \
|
/illumos-gate/usr/src/cmd/mdb/common/modules/libumem/ |
H A D | libumem.c | 154 umastat_lwp_cache(uintptr_t addr, const umem_cache_t *cp, ulwp_t *ulwp) in umastat_lwp_cache() argument 166 &nbufs, (uintptr_t)ulwp->ul_self) == -1) { in umastat_lwp_cache() 171 mdb_printf("%3d ", ulwp->ul_tmem.tm_size ? in umastat_lwp_cache() 172 (nbufs * cp->cache_bufsize * 100) / ulwp->ul_tmem.tm_size : 0); in umastat_lwp_cache() 179 umastat_lwp(uintptr_t addr, const ulwp_t *ulwp, void *ignored) in umastat_lwp() argument 184 mdb_printf((dfp++)->fmt, ulwp->ul_lwpid); in umastat_lwp() 185 mdb_printf((dfp++)->fmt, ulwp->ul_tmem.tm_size); in umastat_lwp() 192 mdb_printf((dfp++)->fmt, (ulwp->ul_tmem.tm_size * 100) / size); in umastat_lwp() 195 (mdb_walk_cb_t)umastat_lwp_cache, (void *)ulwp) == -1) { in umastat_lwp()
|